转 Python的WinReg项通过子键循环

Python的WinReg项通过子键循环

 

python winreg
我能够从我的窗户下面的代码检索5子键7机器的注册表配置单元“HKEY_LOCAL_MACHINE”。

from _winreg import *
try:
 i = 0
 while True:
  subkey = EnumKey(HKEY_LOCAL_MACHINE, i)
  print subkey
  i += 1
except WindowsError:
 pass

我的问题是,我怎么再根据这些按键?我想最后列出了所有的钥匙在SOFTWARE \\ MICROSOFT \\ Windows NT的\\ CURRENTVERSION \\ NetworkList \\签名\\不受管理的文件夹,但我无法弄清楚如何加强我的路在那里。 在回答优先个我跑我的机器上验证码,虽然它并没有错误时,它并没有产生结果。

from _winreg import *
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged")
for i in range(1024):
 try:
  keyname = EnumKey(aKey, i)
  asubkey = OpenKey(aKey, keyname)
  val = QueryValueEx(asubkey, "Description")
  print val
 except WindowsError:
  break

à注册表编辑器或寄存器的查询显示该文件夹中的6个值,但我不能让一个python脚本,这六个。
本文地址 :CodeGo.net/8981951/ 
------------------------------------------------------------------------------------------------------------------------- 
1.请问像这样的工作?

import _winreg
def subkeys(key):
 i = 0
 while True:
  try:
   subkey = _winreg.EnumKey(key, i)
   yield subkey
   i+=1
  except WindowsError:
   break
def traverse_registry_tree(key=_winreg.HKEY_LOCAL_MACHINE, tabs=0):
 for k in subkeys(key):
  print '\t'*tabs + str(k)
  traverse_registry_tree(k, tabs+1)


2. 我没有注册表键搜索,但下面的代码将列出在HKEY_LOCAL_MACHINE \\ SOFTWARE所有子项。我认为,如果你改变了KEYVAL串到你的目录中,将工作的价值。 该try ... except整体是这样EnumKey将失败。我没有做它作为一个循环我不知道怎么去AKEY的正确长度。

keyVal = r"Software"
aKey = OpenKey(HKEY_LOCAL_MACHINE, keyVal, 0, KEY_ALL_ACCESS)
try:
 i = 0
 while True:
  asubkey = EnumKey(aKey, i)
  print(asubkey)
  i += 1
except WindowsError:
 pass


本文标题 :Python的WinReg项通过子键循环
本文地址 :CodeGo.net/8981951/ 

posted @ 2016-12-22 13:03  ZRHW菜鸟  阅读(900)  评论(0编辑  收藏  举报