在 python 中向 windows 注册表添加数据时如何解决“[错误 5] 访问被拒绝”
how to solve "[Error 5] Access is denied " during adding data to windows registry in python
这是我的代码:
import _winreg
import sys
try:
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Run',
_winreg.KEY_SET_VALUE)
_winreg.SetValueEx(key, 'pytest', 0, _winreg.REG_BINARY, 'C:\Users\Default\Desktop\est.py')
_winreg.QueryInfoKey(key)
key.Close()
print "Successfully Added"
except:
print "Unexpected error:", sys.exc_info()[1],sys.exc_info()[0]
我已经通过
从中制作了一个 exe
pyinstaller.exe --onefile testDemo.py
它生成一个“testDemo.exe”文件。
当我尝试在 cmd 中 运行 时 [有或没有管理员模式] 我明白了。
Unexpected error: [Error 5] Access is denied <type 'exceptions.WindowsError'>
如何解决?
第三个参数reserved在OpenKey的调用中丢失
winreg.OpenKeyEx(key, sub_key, reserved=0, access=KEY_READ)
reserved 是保留整数,必须为零。默认值为零。
这是我的代码:
import _winreg
import sys
try:
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Run',
_winreg.KEY_SET_VALUE)
_winreg.SetValueEx(key, 'pytest', 0, _winreg.REG_BINARY, 'C:\Users\Default\Desktop\est.py')
_winreg.QueryInfoKey(key)
key.Close()
print "Successfully Added"
except:
print "Unexpected error:", sys.exc_info()[1],sys.exc_info()[0]
我已经通过
从中制作了一个 exepyinstaller.exe --onefile testDemo.py
它生成一个“testDemo.exe”文件。 当我尝试在 cmd 中 运行 时 [有或没有管理员模式] 我明白了。
Unexpected error: [Error 5] Access is denied <type 'exceptions.WindowsError'>
如何解决?
第三个参数reserved在OpenKey的调用中丢失
winreg.OpenKeyEx(key, sub_key, reserved=0, access=KEY_READ)
reserved 是保留整数,必须为零。默认值为零。