2014-04-17 52 views
1

嗨,我试着去理解这段代码。我知道它在注册表中获取网关名称和mac地址,但是当我尝试运行此代码时,它不显示任何内容。有人可以给我关于winreg的链接,它有基本的例子。谢谢Python winreg不打印

from winreg import * 
def val2addr(val): 
    addr = '' 
    for ch in val: 
     addr += '%02x '% ord(ch) 
    addr = addr.strip(' ').replace(' ', ':')[0:17] 
    return addr 

def printNets(): 
    net = r"SOFTWARE\Microsoft\Windows  NT\CurrentVersion\NetworkList\Signatures\Unmanaged" 
    key = OpenKey(HKEY_LOCAL_MACHINE, net) 
    print ("[*] Networks You have Joined.") 
    for i in range(100): 
     try: 
      guid = EnumKey(key, i) 
      netKey = OpenKey(key, str(guid)) 
      (n, addr, t) = EnumValue(netKey, 5) 
      (n, name, t) = EnumValue(netKey, 4) 
      macAddr = val2addr(addr) 
      netName = str(name) 
      print ('[+] ' + netName + ' ' + macAddr) 
      CloseKey(netKey) 
     except: 
      break 

def main(): 
    printNets() 
if __name__ == "__main__": 
    main() 
+0

你好吗? – aIKid

+0

在python 3.3中使用sublime文本编辑器 – Newboy11

回答

0
  1. 模块documentation。阅读它来理解函数参数/返回。
  2. Example显示注册表键值/当前用户信息。
  3. 一个非常彻底的recipe显示winreg可以做很多事情。