欢迎访问宙启技术站
智能推送

使用CreateKeyEx()函数在Python中创建注册表项(winreg库)

发布时间:2024-01-12 03:27:27

在Python中,可以使用winreg库来操作Windows注册表。其中的CreateKeyEx()函数可以用来创建一个新的注册表项。下面是CreateKeyEx()函数的语法和使用示例:

语法:

winreg.CreateKeyEx(key, sub_key, reserved=0, access=KEY_ALL_ACCESS)

参数说明:

- key:可以是HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS等注册表项。

- sub_key:要创建的注册表项的名称。

- reserved:保留参数,默认值为0。

- access:创建的注册表项的访问权限,默认为KEY_ALL_ACCESS,即完全访问权限。

使用示例:

下面的示例展示了如何使用CreateKeyEx()函数在Python中创建一个名为"TestKey"的注册表项,并设置其值为"TestValue"。

import winreg

def create_registry_key():
    key_path = r"Software\TestKey"
    try:
        # 打开HKEY_CURRENT_USER注册表项,并获取键句柄
        key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_WRITE)
    except FileNotFoundError:
        # 如果注册表项不存在,则创建一个新的注册表项
        key = winreg.CreateKeyEx(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_ALL_ACCESS)
        print("Created registry key: ", key_path)

    # 设置注册表项的值
    value_name = "ValueName"
    value_data = "TestValue"
    winreg.SetValueEx(key, value_name, 0, winreg.REG_SZ, value_data)
    print("Set registry value: ", value_name, "=", value_data)

    # 关闭键句柄
    winreg.CloseKey(key)

create_registry_key()

运行上述代码后,将在HKEY_CURRENT_USER\Software注册表项下创建一个名为TestKey的子项,并设置其值为TestValue。

注意:在操作注册表时,请小心谨慎,确保你知道自己在做什么,因为不正确的操作可能会导致系统故障。