7

这是我的代码:

import winreg as wreg
key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, r'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters',wreg.KEY_ALL_ACCESS)
wreg.SetValueEx(key,"IPEnableRouter", 0, wreg.REG_DWORD, 1)

当我运行这个脚本时,它说

PermissionError: [WinError 5] Access is Denied

如何将值更改为 0 到 1 或 1 到 0?

4

1 回答 1

8

尝试三件事:

  1. 为. 0_ res目前您没有设置sam.

  2. 使用注册表编辑器更改密钥的权限,以允许您作为用户进行访问。

注册截图

  1. 最好始终请求最低要求的访问权限,因此我建议您使用wreg.KEY_SET_VALUE而不是wreg.KEY_ALL_ACCESS.

所以脚本如下:

import _winreg as wreg

key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, r'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters', 0, wreg.KEY_SET_VALUE)
wreg.SetValueEx(key, "IPEnableRouter", 1, wreg.REG_DWORD, 1)
于 2017-01-26T10:46:35.423 回答