Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PYTHON获取所有windows注册表值及其路径_Python_Windows_Registry_Winreg - Fatal编程技术网

使用PYTHON获取所有windows注册表值及其路径

使用PYTHON获取所有windows注册表值及其路径,python,windows,registry,winreg,Python,Windows,Registry,Winreg,id所做的是……。此代码在键和子键之间循环,并检查键是否有任何值(如果有)。对于这段代码,指针或任何从HKEY_CURRENT_CONFIG移动到System和CurrentControlSet以及CurrentControlSet的东西都有一个值(我手动创建了它),但错误如下 回溯(最后一次调用):系统文件“C:/Users/siva kumar/PycharmProjects/delete this/3.py”,第34行,在System\CurrentControlSet traverse\

id所做的是……。此代码在键和子键之间循环,并检查键是否有任何值(如果有)。对于这段代码,指针或任何从HKEY_CURRENT_CONFIG移动到System和CurrentControlSet以及CurrentControlSet的东西都有一个值(我手动创建了它),但错误如下

回溯(最后一次调用):系统文件“C:/Users/siva kumar/PycharmProjects/delete this/3.py”,第34行,在System\CurrentControlSet traverse\u registry\u tree(winreg.HKEY\u CURRENT\u CONFIG,keypath)r“System\CurrentControlSet”文件“C:/Users/siva kumar/PycharmProjects/delete this/3.py”,第21行,在traverse\u registry\u tree x=winreg.OpenKey中(winreg.HKEY_CURRENT_CONFIG,y,0,winreg.KEY_READ | winreg.KEY_WOW64_32KEY)#%('r',subkeypath)FileNotFoundError:[WinError 2]系统找不到指定的文件

import winreg

def subkeys(key):
    i = 0
    while True:
        try:
            subkey = winreg.EnumKey(key, i)
            yield subkey
            i+=1
        except WindowsError as e:
            break

def traverse_registry_tree(hkey, keypath, tabs=1):
    key = winreg.OpenKey(hkey, keypath, 0, winreg.KEY_READ)
    for subkeyname in subkeys(key):

        subkeypath = "%s\\%s" % (keypath, subkeyname)
        print(subkeypath)
        y='%s''"%s"' %('r',subkeypath)
        print(y)
        x = winreg.OpenKey(winreg.HKEY_CURRENT_CONFIG, y, 0, winreg.KEY_READ)

        z=winreg.QueryInfoKey(x)[1]
        print(z)

        if z!=0:
            for i in range(0, z):
                print(winreg.EnumValue(key, i))

    traverse_registry_tree(hkey, subkeypath, tabs+1)

keypath = r"System"
print("System")
traverse_registry_tree(winreg.HKEY_CURRENT_CONFIG, keypath)

您是否查看了这些相关问题?并选择一个配置单元,枚举键值并递归枚举子键。对于起始配置单元,有一个用于
HKEY_LOCAL_机器
配置单元的伪句柄,以及一个用于将加载的用户配置单元作为子键的
HKEY_用户
密钥的伪句柄s以用户SID命名。用户的“类”子键实际上是一个单独的配置单元,链接到用户主配置单元的“软件”键。跳过符号链接。若要对此进行测试,请使用关键字参数
reserved=winreg.REG\u OPTION\u open\u LINK
打开一个键,然后查询值
“symbolicinkValue”
。如果成功,您知道应该跳过该链接。