首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python 2.7中的winreg

python 2.7中的winreg
EN

Stack Overflow用户
提问于 2015-03-10 11:12:01
回答 1查看 5.5K关注 0票数 1

我正在尝试创建一个小型python脚本,以便将D_WORD密钥添加到Windows中的特定位置。我已经读到,这需要使用_winreg。

我用了几个例子,把它改成了我想要做的事情。但是,在这段代码中我有一些错误,而且由于我对Python还不熟悉,所以我在解决这些问题时遇到了问题。第一种情况是,我的导入需要一个冒号(贯穿整个import语句)。

其他未知引用包括HKEY_LOCALE_MACHINE、EnumValue和REG_SZ。我们将非常感谢在这方面提供的任何帮助。

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

代码语言:javascript
复制
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)*
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-10 13:13:27

我黑了您的示例代码,这样它就能工作了(使用python2.7)。但看起来不漂亮。当我有空闲时间时,我会试着把它清理一下。

代码语言:javascript
复制
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)

我还建议您看看:文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28962216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档