2024-09-27 09:37:20 发布
网友
我想用Python中的\u winreg保存注册表项“Run”。 这是我的代码:
import _winreg key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r'Software\Microsoft\Windows\CurrentVersion\Run') _winreg.SaveKey(key, "C:\key.reg")
执行时,我收到一条Windows错误消息:“客户端没有持有所需的特权”
有人能看出什么地方不对劲吗?在
修改你的代码如下。如果它是Run as Administrator,它可以正常工作。我已经在Win7 64位上测试过了
Run as Administrator
import os, sys import _winreg import win32api import win32security # # You need to have SeBackupPrivilege enabled for this to work # priv_flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY hToken = win32security.OpenProcessToken (win32api.GetCurrentProcess (), priv_flags) privilege_id = win32security.LookupPrivilegeValue (None, "SeBackupPrivilege") win32security.AdjustTokenPrivileges (hToken, 0, [(privilege_id, win32security.SE_PRIVILEGE_ENABLED)]) key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r'Software\Microsoft\Windows\CurrentVersion\Run') filepath = r'C:\key.reg' if os.path.exists (filepath): os.unlink (filepath) _winreg.SaveKey (key, filepath)
注意:如果win32api&;win32security丢失,请从here安装它们
win32api
win32security
参考号:Here
修改你的代码如下。如果它是
Run as Administrator
,它可以正常工作。我已经在Win7 64位上测试过了注意:如果
win32api
&;win32security
丢失,请从here安装它们参考号:Here
相关问题 更多 >
编程相关推荐