文章出自《Python绝技 运用Python成为顶级***》中部分代码,稍作修改

遍历Windows注册表键值,代码如下:

import _winreg
key=_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,r"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer")
try:
        i=0
        while 1:

#EnumValue枚举键值,EnumKey枚举子键(guid=_winrge.EnumKey(key,i))
        name,value,type=_winreg.EnumValue(key,i)
        print "name: "+repr(name)
        print "type: "+repr(type)
        print "value: "+repr(value)
        print "__________________________"
        i+=1
except WindowsError:
        print

效果

下面我们编写个在WINDOWS操作系统中,查找曾经访问过的有线网络和无线网络,对应的网关的Mac地址的脚本

import _winreg
def val2addr(val):
        addr=''
        for ch in val:

#ord 作用:字符转换为10进制整数 ;"%02x"以16进制输出变量,如果输出的变量不足2位用0补足
            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=_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,net)
        print '\n[*] Networks You have Joined.'
        for i in range(100):
                try:
                        guid=_winreg.EnumKey(key,i)
                        netKey=_winreg.OpenKey(key,str(guid))
                        n,addr,t=_winreg.EnumValue(netKey,5)
                        macAddr=repr(addr)
                        n,name,t=_winreg.EnumValue(netKey,4)
                        netName=repr(name)
                        macAddr=val2addr(addr)
                        print '[+] '+netName+' '+macAddr
                        _winreg.CloseKey(netKey)
                except WindowsError:
                        print
def main():
        printNets()
if __name__=="__main__":
        main()

转载于:https://blog.51cto.com/11097647/1888591

python 学习之 WINDOWS 注册表学习(一)相关推荐

  1. import _winreg:用python操作修改windows注册表

    用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考资料:官方文档:http://docs.python.org/library/_winreg.html 通过 pyth ...

  2. Python模块——_winreg操作注册表

    From: http://blog.sina.com.cn/s/blog_4b5039210100gmsb.html 用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考 ...

  3. Python模块_winreg操作注册表

    用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考资料:官方文档:http://docs.python.org/library/_winreg.html 通过pytho ...

  4. Window操作系统注册表学习

    Window操作系统注册表学习 一.注册表的由来及概念           从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在W ...

  5. Windows句柄表学习笔记 —— 句柄表全局句柄表

    Windows句柄表学习笔记 -- 句柄表&全局句柄表 句柄表 实验一:在WinDbg中查看句柄表 第一步:打开一个Win32窗口程序 第二步:编译并运行以下代码 第三步:查看运行结果 第四步 ...

  6. 厉害了,Python也能操作注册表

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 今 日 鸡 汤 多情只有春庭月,犹为离人照落花. 前言 大家好,我是IT共享者,人称 ...

  7. 视频教程-C#对Windows注册表的操作-C#

    C#对Windows注册表的操作 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA.asp.net.CSS.HTML/HTML5等语言,使用C ...

  8. 10#Windows注册表的那些事儿

    引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...

  9. Windows注册表的那些事儿

    引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...

最新文章

  1. university, school, college, department, institute的区别
  2. 数据库设计指南(四)保证数据的完整性
  3. IDEA中启动SpringBoot项目时提示:“Error java:程序包xxx不存在”,但实际上是存在的
  4. [PAT乙级]1039 到底买不买
  5. python基础之面向对象编程
  6. data structure最短路径问题
  7. shell的单引号与双引号
  8. 【Shell】获取文件名和扩展名
  9. 2个技巧让Mac常用文件夹在Finder打开更便捷
  10. 第五和第六单元练习题
  11. 插值方法 matlab 实验,matlab计算方法实验报告3(插值问题).doc
  12. Matlab分类识别实战||基于神经网络的深水船水声音数据集的识别与分类(GoogLeNet+SqueezeNet+AlexNet)
  13. Reinforcement Learning An Introduction~The 10-armed Testbed
  14. 图的深度优先遍历java代码详解
  15. 阿里图标管理网站[iconfont.cn](iconfont.cn)的正确打开方式
  16. 如何巧妙的申请换部门_职场:如何跟领导提调换工作岗位?这几点你要考虑清楚!...
  17. 百度网盘为何下载总是那么慢?如何才能实现快速下载?
  18. dw改透明度_Dreamweaver技巧制作图片半透明效果
  19. vscode 忽略pep8的指定报错码
  20. 大唐芙蓉园-莫安迪摄影作品

热门文章

  1. 批处理命令调用InstallShield生成安装包
  2. CST时间转换成 yyyy-MM-dd格式
  3. 【开源项目12】Retrofit – Java(Android) 的REST 接口封装类库
  4. 微软ASP.NET站点部署指南(11):部署SQL Server数据库更新
  5. C#判断联网状态检查电脑联网状态
  6. Cocos creator之javascript闭包
  7. Ubuntu18.04中配置QT5.11开发环境
  8. 《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.40. Expat-2.1.0...
  9. android sdk manager 更新失败
  10. Tab选项卡界面(1)