javascript - 任何人都可以帮助我使用以下 JScript 吗?

标签 javascript windows-vista special-folders

在 Vista 中,我试图获取本地计算机上用户帐户(当前用户除外)的“本地应用程序数据”路径,但遇到一些问题。谁能帮我看看下面的代码有什么问题吗?

var HKU = 0x80000003; 
var username = "xyz";

//Loading registry hive of user xyz
var WshShell = new ActiveXObject("WScript.Shell");
var LoadHiveCmd = "REG LOAD " + "HKU" + "\\" + username + " \"" + "c:\\users\\xyz\\NTUSER.DAT" + "\"";
var oExec = WshShell.Exec(strLoadHiveCmd); 

var oReg = GetObject("WinMgmts:/root/default:StdRegProv"); 

var profileRegPath = username  + "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders";

var method, inparams, outparams;  

method = oReg.Methods_.Item("GetExpandedStringValue");
inparams = method.InParameters.SpawnInstance_();
inparams.hDefKey = HKU;
inparams.sSubKeyName = profileRegPath ;
inparams.sValueName =  "Local AppData";

outparams = oReg.ExecMethod_(method.Name, inparams);
var appDataPath= outparams.sValue;   

这里注册表中的appDataPath值为%USERPROFILE%\AppData\Local

但是我得到了一个值C:\Windows\system32\config\systemprofile\AppData\Local

我不明白值 c:\windows\system32\config\systemprofile 来自何处以及它如何替换 %USERPROFILE% 值。

最佳答案

USERPROFILE 是一个环境变量,将替换 %USERPROFILE% 以获取它在此计算机上的正确位置。它随着计算机的不同而变化。

要查看所有环境变量,请在命令 shell 中键入“set”,或转至“控制面板”>“系统设置”>“高级”> 环境变量

关于javascript - 任何人都可以帮助我使用以下 JScript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5888770/

相关文章:

javascript - 未触发操作 - React-Redux 计数器示例

javascript - 从外部 js 文件切换时,Firefox CSS3 转换不起作用

c++ - 如何编写新的 Windows Shell?

c# - 如何为 C# 添加数据库文件的相对路径

javascript - 将移动浏览器深层链接到 native 应用程序 - 未安装应用程序时 Chrome 出现问题

javascript - 如何将 jQuery Deferred 与自定义事件一起使用?

c++ - 使用VS2015为Vista编译C++

optimization - 在 windows vista 上加速 wamp server + drupal

.net - 为什么specialfolder.personal返回c :/user/xxx/Documents

c# - 如何从其他用户那里找到我的音乐文件夹?