使用Python+winreg读取Windows注册表中所有的键和值

一、使用Python+winreg读取Windows注册表中所有的键和值

import winreg


def print_all_subkeys(key):

    i = 0
    while True:
        try:

            # 获取key的第i个子健
            subkey = winreg.EnumKey(key, i)
            print(subkey)

            # 打开子健
            subkey_handle = winreg.OpenKey(key, subkey)

            # 打印子健中的所有值
            print_all_values(subkey_handle)

            # 打印子健中的所有子健
            print_all_subkeys(subkey_handle)

            i += 1
        except WindowsError as e:
            break

def print_all_values(key):

    i = 0
    while True:
        try:

            # 获取key中第i个值
            name, value, type_ = winreg.EnumValue(key, i)

            print(f'{name} = {value}')
            i += 1

        except WindowsError as e:
            break

if __name__ == "__main__":

    path = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"

    # 打开目录
    key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, path)

    # 打印所有的子健和值
    print_all_subkeys(key)

二、winreg.EnumKey参数解析:

1、name, value, type = winreg.EnumKey(key, index)

1、key:一个已经显示的键,或者预定义的HKEY_*常量之一

2、index:是一个整数,用来表示所获取键的索引

2、返回值:包含3个元素的元组

1. name:键的名称

2. value:键的数据

3. type:键的类型

  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limengshi138392

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值