from _winreg import *
areg=ConnectRegistry(None,HKEY_LOCAL_MACHINE)
akey=OpenKey(areg,r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
count=0
for i in range (1024):
try:
subkey=EnumKey(akey,i)
asubkey = OpenKey(akey, subkey)
"""print subkey"""
val=QueryValueEx(asubkey,"DisplayName")
list1.append(val[0])
if(len(val[0])==0):
pass
else:
val2=QueryValueEx(asubkey,"DisplayVersion")
if(val2==""):
list2.append("None")
list3.append("None")
continue
else:
list2.append(val2[0])
val3=QueryValueEx(asubkey,"Publisher")
if(val3==""):
list3.append("None")
else:
list3.append(val3[0])
print len(list1), len(list2), len(list3)
它采用“DisplayName”“DisplayVersion”和“Publisher”。列表的长度不匹配,尽管如果该值存在,则输入“无”值。
此代码仍然没有枚举注册表“uninstall”子项的所有内容。
我做错了吗?
提前致谢。
答案 0 :(得分:0)
list1.append(val[0])
if(len(val[0])==0):
pass
这里你把一个值放在list1
中,但后来保释。我有一个预感,你打算检查和保释,而不是实际添加list1
。