Mithilfe von Javascript in HTA-Datei zu Lesen/schreiben aus der Windows-registry
Derzeit bin ich versucht zu schreiben Sie Javascript, um Lesen und schreiben der Windows-Registrierung in einer HTA-Datei. Hier ist der aktuelle code, den ich verwende, zu schreiben:
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 + '"');
}
}
Leider wenn ich die Werte in regedit, Sie bleiben unverändert. Ich stellte sicher, zu überprüfen, dass der registry-Pfad ist genau der gleiche, wie ich es in javascript. Es nicht wieder ein Fehler, also gehe ich davon aus dass der Pfad korrekt ist.
Ich auch versucht
var oWSS = WScript.CreateObject("WScript.Shell");
im Sinne dieses msdn Seite, statt
var oWSS = new ActiveXObject("WScript.Shell");
aber das gab mir nur noch mehr Probleme.
Jede Hilfe ist willkommen! Danke!
Ich schlug einen alternativen Ansatz ohne Prüfung der code zuerst. Jedoch, nach der Prüfung habe ich komplett geändert, meine ursprüngliche Antwort.
Ich lief Ihr code und es funktionierte perfekt. Stellen Sie sicher, dass Sie den Registrierungs-editor (regedit) als auch dem HTA-Anwendung als Administrator aus, um die Veränderungen beobachten, die Ihren code aus.
Ich lief Ihr code und es funktionierte perfekt. Stellen Sie sicher, dass Sie den Registrierungs-editor (regedit) als auch dem HTA-Anwendung als Administrator aus, um die Veränderungen beobachten, die Ihren code aus.
InformationsquelleAutor Jon | 2012-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schrieb ich eine Probe HTA HTML-Anwendung einschließlich der Funktionen writeinRegistry() und readFromRegistry () - Funktion basiert auf dem code. Er schrieb einen Wert in die Registrierung und abgerufen werden. Die Frage ist, wo hat es Platz. Nachdem die Suche in der registry, ich fand es unter HKEY_CURRENT_USER\VirtualStore\MACHINE\SOFTWARE\Wow6432None\CompanyName\CompanyValues. Dies ist, weil:
So, dann habe ich eine Windows-Verknüpfung zu C:\Windows\System32\MSHTA.exe TheNameOfMyScript.hta. Um sicherzustellen, dass ich war mit der 64-bit-version und dann habe ich ausgeführt, die Verknüpfung mit der Höhe (Führen Sie den shortcut " als Administrator). Nachdem Sie dies getan haben, wird der Registrierungsschlüssel unter HKLM-Zweig aktualisiert.
InformationsquelleAutor Stephen Quan
Habe ich festgestellt, dass, wenn Sie ein update registry keys im code, während
regedit.exe
ist, öffnen/ausführen, ist es eine gute Idee, drücken SieF5
imregedit
um es zu aktualisieren, nachdem der code lief.InformationsquelleAutor drifter