文档说EnumKey
返回带有键名的字符串。您必须使用_winreg.OpenKey
函数显式打开它。我已经修复了您的代码段:
from _winreg import *
aKey = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
print r"*** Reading from %s ***" % aKey
aKey = OpenKey(aReg, aKey)
for i in range(1024):
try:
asubkey_name=EnumKey(aKey,i)
asubkey=OpenKey(aKey,asubkey_name)
val=QueryValueEx(asubkey, "DisplayName")
print val
except EnvironmentError:
break
请注意,并非每个键都有“ DisplayName”值可用。