Python中的_winreg CreateKey函数不起作用

时间:2015-08-02 21:41:06

标签: python python-2.7 winreg

我有一段代码可以创建一个注册表项并更改其中的值。虽然它在我的系统中运行得很好,但在任何其他系统上运行时都会失败。

keyVal= r'Software\Microsoft\Windows\CurrentVersion\Policies'
key2change= OpenKey(HKEY_CURRENT_USER, keyVal,0,KEY_ALL_ACCESS)
CreateKey(key2change,keyVal+"\System")

key2change= OpenKey(HKEY_CURRENT_USER, keyVal+"\System",0,KEY_ALL_ACCESS)
SetValueEx(key2change, "Wallpaper", 0, REG_SZ, picName)
SetValueEx(key2change, "WallpaperStyle", 0, REG_SZ, "0")

这不会创建"系统"键在其他PC上,因此没有值改变。 我也使用Windows 7 x64位,我使用pyinstaller打包代码。

1 个答案:

答案 0 :(得分:0)

这对我有用。

keyVal= r'Software\Microsoft\Windows\CurrentVersion\Policies'
key2change= OpenKey(HKEY_CURRENT_USER, keyVal,0,KEY_ALL_ACCESS)
CreateKey(key2change,keyVal+"\System", 0, KEY_ALL_ACCESS)

key2change= OpenKey(HKEY_CURRENT_USER, keyVal+"\System",0,KEY_ALL_ACCESS)
SetValueEx(key2change, "Wallpaper",0,REG_SZ, "D:\\test.jpg")
SetValueEx(key2change, "WallpaperStyle",0,REG_SZ, "2")