我想通过以下代码添加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
答案 0 :(得分:1)
在命令提示符下运行python程序。 Windows中有一个command prompt (Admin)
程序。或者只需右键点击Command prompt
并选择Run as administrator
即可。 Ref
答案 1 :(得分:0)
这不是关于runnig作为管理员。我尝试使用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)
您不必像建议here一样使用KEY_ALL_ACCESS
。只需在0
之前添加_winreg.KEY_SET_VALUE
。