美文网首页
python操作注册表(Url protocol浏览器启动本地程

python操作注册表(Url protocol浏览器启动本地程

作者: 尤樊容 | 来源:发表于2018-08-20 18:33 被阅读248次

    使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了。
    说道注册表顺便也说一说环境变量的修改(放下下一节讲),里面有许多相似的地方,我觉得放在一起说会比较合适。

    操作注册表

    操作注册表主要引入winreg包,winreg包是python3自带的包,python2的名字和python3有区别_winreg,在这里只关注python3

    key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"路径的名字")
    

    OpenKeyEx打开一个注册表,路径不写就是根目录,给个图大家就明白了


    image.png

    点击确定打开windows注册表


    image.png
    上面写的winreg.HKEY_CLASSES_ROOT,就是上图中其中之一,想要打开哪个就写哪个的名字
    • 新建一个分支
    newKey = winreg.CreateKey(key,"文件名")
    
    • 获取当前名称对应的值
    winreg.QueryValueEx(key, '名称')
    
    image.png
    例如: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\"")
    
    image.png

    以上例子可以使用Url protocol,使用浏览器启动本地exe。直接将上文中的path换成本地exe的路径就可以了。

    相关文章

      网友评论

          本文标题:python操作注册表(Url protocol浏览器启动本地程

          本文链接:https://www.haomeiwen.com/subject/bvpliftx.html