我希望通过以下代码添加带有python的注册表项:
import _winreg
from time import sleep
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,'Software\\Microsoft\\Windows\\CurrentVersion\\Run',_winreg.KEY_SET_VALUE)
_winreg.SetValueEx(key,'Windows-Update',0,_winreg.REG_BINARY,'C:\Windows\System32\SystemSetting\Block.exe')
key.Close()但是它显示了这个错误WindowsError: [Error 5] Access is denied。
有解决办法吗?
编辑-我已经以管理员的身份运行它了
EDIT2 -它与KEY_ALL_ACCESS有关吗?
发布于 2016-04-09 13:00:32
在命令提示符中运行python程序。windows中有一个可用的command prompt (Admin)程序。或者只需右键单击Command prompt并选择Run as administrator。参考
发布于 2017-06-29 05:52:42
它不是关于运行作为管理。我尝试了runnig作为管理员,但仍然收到Acces is denied消息。
您必须使用保留整数,默认情况下为0。
_winreg.OpenKey(key,sub_key[,res,sam])res是一个保留整数,必须为零。缺省值为零。
所以,应该是这样:
key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",0, wreg.KEY_SET_VALUE)您不必像建议的KEY_ALL_ACCESS那样使用这里。只需在0之前添加_winreg.KEY_SET_VALUE即可。
https://stackoverflow.com/questions/36516887
复制相似问题