2016-04-12 12 views
1

Ich habe durch folgende Art und Weise Registrierungsschlüssel erstellt:Welchen Registrierungsschlüssel erstellt dieser Code?

Const HKEY_CURRENT_USER = &H80000001 

strComputer = "." 

Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") 

strKeyPath = "SOFTWARE\application_upgrade" 

objRegistry.CreateKey HKEY_CURRENT_USER, strKeyPath 

ich eine andere Anwendung haben. In dieser Anwendung muss ich den Registrierungsschlüssel zur Verifizierung übergeben. Ich weiß nicht, was Registrierungsschlüssel im obigen Code ist.

Ich habe versucht, beide Namen "SOFTWARE \ application_upgrade" und "application_upgrade", aber ich bekomme keinen Erfolg.

Kann mir jemand sagen, was ist Registrierungsschlüssel im obigen Skript? Oder fehlt mir etwas?

+0

einen Blick auf dieses ==> Nehmen Sie http://www.robvanderwoude.com/vbstech_registry_wshshell.php – Hackoo

+0

Es ist sollte die vollständige Registrierungspfad 'HKEY_CURRENT_USER \ SOFTWARE \ application_upgrade' – Lankymart

+0

@Hackoo Das sein ist zeigt nur eine andere Methode die des Schreibens Registrierung, die WMI-Methode ist in Ordnung, ich bin mir nicht sicher, wie schlägt eine andere Methode, wenn die erste bereits funktioniert das OP? – Lankymart

Antwort

0

Nicht wirklich eine Programmierung Frage, aber man kann so etwas wie regedit.exe in Windows verwenden, um anzuzeigen und die Erstellung des Schlüssels zu überprüfen.

Sie müssen die ROOT enthalten (definiert durch die benannte Konstante HKEY_CURRENT_USER = &H80000001, in diesem Fall HKEY_CURRENT_USER Struktur in der Registrierung ist), wenn Sie den Pfad Zugriff auf so

HKEY_CURRENT_USER\SOFTWARE\application_upgrade 

ist der vollständig qualifizierte Pfad der " andere Anwendung " muss verwendet werden.

+0

Vielen Dank. Ich habe das alles überprüft. "Kann mir jemand sagen, was ist Registrierungsschlüssel im obigen Skript? Oder verpasse ich etwas?" Ich bin mir sicher, ob das obige Skript richtig ist. –

+0

@NanjiMange Ich kann nicht aus dem Kommentar sagen, ob das Ihre Frage beantwortet hat? – Lankymart

+0

Können Sie mir bitte vorschlagen, wie Sie Wert im Schlüssel hinzufügen? Ich habe versucht, indem Sie zusätzliche Variable hinzufügen: "strValue =" version_10.1.0 ";" und fügen Sie diese Variable am letzten "objRegistry.CreateKey HKEY_CURRENT_USER, strKeyPath, strValue;" Aber das schafft keinen Wert in regedit.exe –

0

Das funktioniert. Es ist genauso wie Ihr Code mit sinnloser Umleitung entfernt.

Set objRegistry = GetObject("winmgmts:\\.\root\default:StdRegProv") 
strKeyPath = "SOFTWARE\application_upgrade" 
objRegistry.CreateKey &H80000001, "SOFTWARE\application_upgrade" 
+0

Was ist sinnlos mit eingeschlossenen benannten Konstanten für mehrdeutige Werte wie '& H8000001'? – Lankymart

+0

Wenn Sie die Frage gelesen haben, sagte der OP nie, dass der Code nicht funktionierte, sie wollten nur den vollständigen Pfad wissen, den er in der Registrierung erstellt. Zitat - * "Kann mir jemand sagen, was ist Registrierungsschlüssel in oben genannten Skript?" * – Lankymart