我正在尝试创建一个小型python脚本,以便将D_WORD密钥添加到Windows中的特定位置。我已经读到,这需要使用_winreg。
我用了几个例子,把它改成了我想要做的事情。但是,在这段代码中我有一些错误,而且由于我对Python还不熟悉,所以我在解决这些问题时遇到了问题。第一种情况是,我的导入需要一个冒号(贯穿整个import语句)。
其他未知引用包括HKEY_LOCALE_MACHINE、EnumValue和REG_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)*发布于 2015-03-10 13:13:27
我黑了您的示例代码,这样它就能工作了(使用python2.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)我还建议您看看:文档。
https://stackoverflow.com/questions/28962216
复制相似问题