我正在尝试编写Javascript以便从HTA文件的Windows注册表中读取和写入。以下是我正在使用的当前代码:在HTA文件中使用Javascript从Windows注册表中读取/写入
writeInRegistry = function (sRegEntry, sRegValue) {
Regpath = "HKEY_LOCAL_MACHINE\\Software\\CompanyName\\CompanyValues\\" + sRegEntry;
try {
var oWSS = new ActiveXObject("WScript.Shell");
oWSS.RegWrite(Regpath, sRegValue, "REG_DWORD");
oWSS = null;
} catch (e) {
alert('Error trying to write "' + sRegValue + '" to registry entry "' + sRegEntry + '"');
}
}
不幸的是,当我检查regedit中的值时,它们保持不变。我一定要仔细检查注册表路径是否与我在javascript中使用的完全一样。它不会返回错误,所以我假设路径是正确的。
我也试图尝试
var oWSS = WScript.CreateObject("WScript.Shell");
在本页面msdn提及,而不是
var oWSS = new ActiveXObject("WScript.Shell");
但只是给了我更多的问题。
任何帮助表示赞赏!谢谢!
我提出了另一种方法,不先测试你的代码。但是,经过测试,我完全改变了我原来的答案。 – Abbas 2012-01-16 22:50:27
我运行了你的代码,它完美运行。确保以管理员身份运行注册表编辑器(regedit)以及HTA应用程序,以观察代码所做的更改。 – Abbas 2012-01-27 05:19:44