我正在尝试使用 Python winreg 模块写入 Windows 注册表项“SOFTWARE/Microsoft/DirectX/UserGpuPreferences”。
子键的名称必须是包含反斜杠的 Python 可执行文件路径。但是,使用 时winreg.SetValue()
,它会在路径的组件后面添加一个键树,而不是名称包含反斜杠的单个子键。
import winreg
path = ['SOFTWARE', 'Microsoft', 'DirectX', 'UserGpuPreferences']
registry = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
key = winreg.OpenKey(registry, '\\'.join(path), 0, winreg.KEY_WRITE)
sub_key = sys.executable
value = 'GpuPreference=2;'
winreg.SetValue(key, sub_key, winreg.REG_SZ, value)
并且转义反斜杠 ( sys.executable.replace('\\', '\\\\')
) 也不会改变它。
有没有办法使用 Python 插入这样的注册表值?