简体   繁体   English

Python中的_winreg CreateKey函数不起作用

[英]_winreg CreateKey function in Python doesn't work

I have a piece of code that creates a registry key and changes value in it. 我有一段代码可以创建注册表项并更改其中的值。 Although it work perfectly fine in my system but it fails when ran on any other system. 尽管它在我的系统中运行正常,但是在其他任何系统上运行时都会失败。

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")

This doesn't create the "System" key in other PC thus no value is changed. 这不会在其他PC上创建“系统”键,因此不会更改任何值。 Also I am using Windows 7 x64 bit and I am packaging the code using pyinstaller. 另外,我正在使用Windows 7 x64位,并且正在使用pyinstaller打包代码。

This did worked out for me. 这确实为我解决了。

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")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM