一、使用Python+winreg读取Windows注册表中所有的键
import winreg
def read_key(hive, key):
with winreg.OpenKey(hive, key) as reg_key:
i = 0
while True:
try:
#枚举reg_key下的第i个子健
subkey = winreg.EnumKey(reg_key, i)
# 子健的完整路径
subkey_path = f"{key}\\{subkey}"
print(subkey_path)
# 递归枚举子健中的所有子健
read_key(hive, subkey_path)
i+=1
except OSError:
break
hive = winreg.HKEY_LOCAL_MACHINE
key = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
read_key(hive, key)
二、winreg.EnumKey参数解析:
1、winreg.EnumKey(key, index)
key:一个已经显示的键,或者预定义的HKEY_*常量之一
index:是一个整数,用来表示所获取键的索引
2、返回值:包含3个元素的元组
1. 键的名称
2. 键的数据
3. 键的类型