报错pywintypes.error: (5, 'RegOpenKeyEx', ...)
import win32api
import win32con
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,'SOFTWARE',0,win32con.KEY_ALL_ACCESS)
运行报错pywintypes.error: (5, 'RegOpenKeyEx', '\xbe\xdc\xbe\xf8\xb7\xc3\xce\xca\xa1\xa3')
随后定位问题发生在win32con.KEY_ALL_ACCESS,这是由于注册表访问被拒绝的愿意,因此需要提高访问权限,方法如下:
第一种方法:
WIN7拥有管理员权限的使用方法:
1.右键单击“计算机”,进入“管理”找到“用户和组”
2.找到administrators,右键调出属性,把“该账户已禁用”前面的勾去掉。
回桌面
3.新建“记事本”,copy 如下内容:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
然后另存为win7获取管理员权限.reg,后缀名必须是 .reg
将另存成的注册表信息导入,这样就获得了WIN7管理员权限了。
在文件夹上单击右键就会出现 “管理员取得所有权”
第二种方法:
ctrl+r
输入lusrmgr.msc
用户——双击administrator,取消“账户已禁用”的勾选
注销
选择administrator账户登录
import win32api
import win32con
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,'SOFTWARE',0,win32con.KEY_ALL_ACCESS)
运行报错pywintypes.error: (5, 'RegOpenKeyEx', '\xbe\xdc\xbe\xf8\xb7\xc3\xce\xca\xa1\xa3')
随后定位问题发生在win32con.KEY_ALL_ACCESS,这是由于注册表访问被拒绝的愿意,因此需要提高访问权限,方法如下:
第一种方法:
WIN7拥有管理员权限的使用方法:
1.右键单击“计算机”,进入“管理”找到“用户和组”
2.找到administrators,右键调出属性,把“该账户已禁用”前面的勾去掉。
回桌面
3.新建“记事本”,copy 如下内容:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
然后另存为win7获取管理员权限.reg,后缀名必须是 .reg
将另存成的注册表信息导入,这样就获得了WIN7管理员权限了。
在文件夹上单击右键就会出现 “管理员取得所有权”
第二种方法:
ctrl+r
输入lusrmgr.msc
用户——双击administrator,取消“账户已禁用”的勾选
注销
选择administrator账户登录