python2.7中的winreg

2024-09-24 22:27:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个小python脚本,将D_WORD键添加到Windows注册表中的特定位置。我读到这将需要使用\u winreg。在

我用了几个例子,把它改成了我想要它做的。但是,我在这段代码中有一些错误,因为我是Python新手,所以在解决这些错误时遇到了一些问题。首先,我的导入需要一个冒号(贯穿整个import语句)。在

其他未知引用包括HKEY\U LOCALE_MACHINE、EnumValue和REG\u SZ。 如有任何帮助,我们将不胜感激。在

============================================================================

from winreg import ConnectRegistry, OpenKey, CloseKey, QueryInfoKey, SetValueEx
print r"*** Reading from SYSTEM\CurrentControlSet\services\NetBT\Parameters ***"
aReg = winreg.ConnectRegistry(None, HKEY_LOCAL_MACHINE)
aKey = winreg.OpenKey(aReg, "SYSTEM\CurrentControlSet\services\NetBT\Parameters")
for i in range(winreg.QueryInfoKey(aKey)[1]):
try:
    n, v, t = EnumValue(aKey, i)
    print i, n, v, t
except EnvironmentError:
    print "Encountered problems reading the Registry..."
    break
winreg.CloseKey(aKey)
print r"*** WRiting to SYSTEM\CurrentControlSet\services\NetBT\Parameters ***"
aKey = winreg.OpenKey(aKey, rSYSTEM\CurrentControlSet\services\NetBT\Parameters", 0, KEY_WRITE)
try:
    winreg.setValueEx(aKey, "SMBDeviceEnabled", 0, REG_SZ)
except EnvironmentError:
    print "Encountered problems writing into the Registry..."
winreg.CloseKey(aKey)
winreg.CloseKey(aReg)*

Tags: import错误servicemachinesystemparametersprintwinreg
1条回答
网友
1楼 · 发布于 2024-09-24 22:27:44

使用python的示例代码(2.7)可以正常工作。但它看起来并不漂亮。当我有空的时候,我会设法把它清理一下。在

import _winreg 
from _winreg import ConnectRegistry, OpenKey, CloseKey, QueryInfoKey, SetValueEx
print r"*** Reading from SYSTEM\CurrentControlSet\services\NetBT\Parameters ***"
aReg = ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
aKey = OpenKey(aReg, "SYSTEM\CurrentControlSet\services\NetBT\Parameters")
for i in range(_winreg.QueryInfoKey(aKey)[1]):
    try:
        n, v, t = _winreg.EnumValue(aKey, i)
        print i, n, v, t
    except EnvironmentError:
        print "Encountered problems reading the Registry..."
        break
_winreg.CloseKey(aKey)
print r"*** WRiting to SYSTEM\CurrentControlSet\services\NetBT\Parameters ***"
aKey = OpenKey(aReg, r"SYSTEM\CurrentControlSet\services\NetBT\Parameters", 0, _winreg.KEY_WRITE)
try:
    SetValueEx(aKey, "SMBDeviceEnabled", 0, _winreg.REG_SZ, "Test")
except EnvironmentError:
    print "Encountered problems writing into the Registry..."
CloseKey(aKey)
CloseKey(aReg)

我也建议你看看:Docs。在

相关问题 更多 >