9

ソフトウェアによって作成されたレジストリ キーを読み取る際に問題が発生しています。ただし、同じコードで、他のキーを読み取ることができます。

installdir = winreg.OpenKey(
                            winreg.HKEY_LOCAL_MACHINE, 
                            "SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\Types"
                            ) #this works perfect
#installdir1 = winreg.OpenKey(
                              winreg.HKEY_LOCAL_MACHINE,
                             "SOFTWARE\\MySoftware\\MyEvent\\IS"
                             ) #this gives Filenotfound error

# list values owned by this registry key
try:
    i = 0
    while 1:
        name, value, type = winreg.EnumValue(installdir, i)
        print (repr(name))
        i += 1
except WindowsError:
    print ("Bot donf")
value, type = winreg.QueryValueEx(installdir, "10")
print("user is", repr(value))

value, type = winreg.QueryValueEx(winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\MySoftware\\MyEvent\\IS"), "v2")
print("user is", repr(value))

トレースバックショー

 Traceback (most recent call last):
  File "D:/python_scripts/myclass.py", line 32, in <module>
    value, type = winreg.QueryValueEx(winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\MySoftware\\MyEvent\\IS"), "v2")
  FileNotFoundError: [WinError 2] The system cannot find the file specified

ただし、Windows reg クエリは値セットを取得できます。

#reg query HKLM\SOFTWARE\MySoftware\MyEvent\IS /v v2

HKEY_LOCAL_MACHINE\SOFTWARE\MySoftware\MyEvent\IS
v2    REG_DWORD    0x12

どんな助けでも大歓迎です

4

1 に答える 1