python3操作注册表的方法(Url protocol)


Posted in Python onFebruary 05, 2020

使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了。

说道注册表顺便也说一说环境变量的修改(放下下一节讲),里面有许多相似的地方,我觉得放在一起说会比较合适。

操作注册表

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

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

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

python3操作注册表的方法(Url protocol)

点击确定打开windows注册表

上面写的winreg.HKEY_CLASSES_ROOT,就是上图中其中之一,想要打开哪个就写哪个的名字 •新建一个分支

newKey = winreg.CreateKey(key,"文件名")

•获取当前名称对应的值

winreg.QueryValueEx(key, '名称')

python3操作注册表的方法(Url protocol)

例如: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\"")

python3操作注册表的方法(Url protocol)

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

Python 操作注册表

通过Python的内置模块winreg这里主要给出一些winreg的Demo代码

Python2:import _winreg、Python3:import winreg

#!python37
# -*- coding: utf-8 -*-
# coding:utf-8

import winreg

def obtain():

  # 获取该键的所有键值
  key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\\Inspiry\\BasePay\\Address")

  # 获取该键的所有键值,遍历枚举
  try:
    i = 0
    while 1:
  # EnumKey用来枚举子键,EnumValue方法用来枚举键值,
      name, value, type1 = winreg.EnumValue(key, i)
      # print(repr(name),value)

      return value
      i +=1
  except WindowsError:
    print('error')

if __name__ == '__main__':
  obtain()

好了这篇文章就介绍到这了,希望以后多多支持三水点靠木。

Python 相关文章推荐
Tornado Web服务器多进程启动的2个方法
Aug 04 Python
使用Python下的XSLT API进行web开发的简单教程
Apr 15 Python
Python之str操作方法(详解)
Jun 19 Python
浅谈Django学习migrate和makemigrations的差别
Jan 18 Python
python中单例常用的几种实现方法总结
Oct 13 Python
Django实现学生管理系统
Feb 26 Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 Python
Python进程池Pool应用实例分析
Nov 27 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
Feb 06 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
Feb 12 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
在Python 中将类对象序列化为JSON
Apr 06 Python
Python tkinter模版代码实例
Feb 05 #Python
Python Scrapy框架第一个入门程序示例
Feb 05 #Python
python lambda函数及三个常用的高阶函数
Feb 05 #Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 #Python
TensorFlow学习之分布式的TensorFlow运行环境
Feb 05 #Python
TensorFlow MNIST手写数据集的实现方法
Feb 05 #Python
tensorflow之并行读入数据详解
Feb 05 #Python
You might like
Yii CGridView用法实例详解
2016/07/12 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
JS时间特效最常用的三款
2015/08/19 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python3基础之list列表实例解析
2014/08/13 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
Python开发的实用计算器完整实例
2017/05/10 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
Python过滤序列元素的方法
2020/07/31 Python
社区敬老月活动实施方案
2014/02/17 职场文书
经典公益广告词
2014/03/13 职场文书
公司保密承诺书
2014/03/27 职场文书
农村党员对照检查材料
2014/09/24 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
幼儿学前班评语
2014/12/29 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
pandas数值排序的实现实例
2021/07/25 Python
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android
MySQL分库分表详情
2021/09/25 MySQL