Wenn ich versuche, einen Wert von diesem Schlüssel zu lesen, wird der richtige Wert dieses Schlüssels nicht zurückgegeben, aber stattdessen erhalte ich einen anderen Schlüsselpfadwert?Python _winreg Schlüsselpfad falsch
import _winreg as wreg
key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")
print(wreg.EnumValue(key, 0))
Und die Ausgabe:
('SunJavaUpdateSched', u'"C:\\Program Files (x86)\\Common Files\\Java\\Java Update\\jusched.exe"', 1)
Aber dieser Wert ist nicht Teil des Schlüssels I verwendet? Dieser Wert befindet sich nicht an diesem Schlüssel. Ich hätte einen anderen Wert erhalten sollen. Ich suchte, wo der Wert des falschen Wert auf RegEdit befindet und seine bei
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
befindet Wenn ich Befehl prompt
REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Und ich bekomme die richtige Ausgabe ...
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
IgfxTray REG_SZ "C:\Windows\system32\igfxtray.exe"
HotKeysCmds REG_SZ "C:\Windows\system32\hkcmd.exe"
Persistence REG_SZ "C:\Windows\system32\igfxpers.exe"
Dann mit os.popen auf python ich würde versuchen, ...
import os
buff = os.popen("REG QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")
print(buff.read())
Und die Ausgabe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
SunJavaUpdateSched REG_SZ "C:\Program Files (x86)\Common Files\Java\Java Update\jusched.exe"
Warum sind diese anders? Wie kann ich mit _winreg
den richtigen Wert erhalten?
hat wahrscheinlich etwas mit dem zu tun [Alternate Registry Ansichten] (https://msdn.microsoft.com/en-us/library/aa384129%28v=VS.85%29.aspx), weil du bist Ausführen von 32-Bit-Python auf einer 64-Bit-Version des Betriebssystems. Dies wird in der "_winreg" [Dokumentation] (https://docs.python.org/2/library/_winreg.html#bit-specific) erwähnt. – martineau
Wie haben Sie den Wert festgelegt? – vks
@vks Diese Schlüsselwerte werden automatisch installiert, ich möchte sie nur abrufen. – user3818650