Python winreg 模块访问被拒绝

Python winreg module access denied

这是我的代码:

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?

尝试三件事:

  1. res 添加额外的 0 参数。目前您没有设置 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)