python3操作注册表的方法(Url protocol)
使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了。
说道注册表顺便也说一说环境变量的修改(放下下一节讲),里面有许多相似的地方,我觉得放在一起说会比较合适。
操作注册表
操作注册表主要引入winreg包,winreg包是python3自带的包,python2的名字和python3有区别_winreg,在这里只关注python3
key=winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT,r"路径的名字")
OpenKeyEx打开一个注册表,路径不写就是根目录,给个图大家就明白了
点击确定打开windows注册表
上面写的winreg.HKEY_CLASSES_ROOT,就是上图中其中之一,想要打开哪个就写哪个的名字•新建一个分支
newKey=winreg.CreateKey(key,"文件名")
•获取当前名称对应的值
winreg.QueryValueEx(key,'名称')
例如:winreg.QueryValueEx(key,'PATH')
•设置当前目录下的值
winreg.SetValueEx(key,"名称",0,winreg.REG_EXPAND_SZ,"值")
例子:
key=winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT,r"") #创建新的键 newKey=winreg.CreateKey(key,"aTest") #给新创建的键添加键值 winreg.SetValueEx(newKey,"a1",0,winreg.REG_EXPAND_SZ,"aaa") winreg.SetValueEx(newKey,"b1","star",1,"bbb") #创建新的子键 key=winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT,r"aTest") newKey=winreg.CreateKey(key,"DefaultIcon") winreg.SetValueEx(newKey,"",0,winreg.REG_EXPAND_SZ,"path,1") newKey=winreg.CreateKey(key,"shell") key=winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT,r"aTest\shell") newKey=winreg.CreateKey(key,"open") key=winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT,r"aTest\shell\open") newKey=winreg.CreateKey(key,"command") winreg.SetValueEx(newKey,"url",0,winreg.REG_EXPAND_SZ,"\"path\"\"%1\"")
以上例子可以使用Urlprotocol,使用浏览器启动本地exe。直接将上文中的path换成本地exe的路径就可以了。
Python操作注册表
通过Python的内置模块winreg这里主要给出一些winreg的Demo代码
Python2:import_winreg、Python3:importwinreg
#!python37 #-*-coding:utf-8-*- #coding:utf-8 importwinreg defobtain(): #获取该键的所有键值 key=winreg.OpenKey(winreg.HKEY_CURRENT_USER,r"Software\\Inspiry\\BasePay\\Address") #获取该键的所有键值,遍历枚举 try: i=0 while1: #EnumKey用来枚举子键,EnumValue方法用来枚举键值, name,value,type1=winreg.EnumValue(key,i) #print(repr(name),value) returnvalue i+=1 exceptWindowsError: print('error') if__name__=='__main__': obtain()
好了这篇文章就介绍到这了,希望以后多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。