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 相关文章推荐
浅谈Python数据类型之间的转换
Jun 08 Python
利用Python实现图书超期提醒
Aug 02 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
django数据模型(Model)的字段类型解析
Dec 25 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
Apr 28 Python
Python如何实现邮件功能
May 27 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
Python生成器generator原理及用法解析
Jul 20 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
常见的PHP五种设计模式小结
2011/03/23 PHP
php 魔术方法详解
2014/11/11 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
Textarea输入字数限制实例(兼容iOS&安卓)
2017/07/06 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
浅谈angular2路由预加载策略
2017/10/04 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
Python Tkinter GUI编程入门介绍
2015/03/10 Python
浅析Python基础-流程控制
2016/03/18 Python
怎样使用Python脚本日志功能
2016/08/14 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
django框架创建应用操作示例
2019/09/26 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
Python实现微信表情包炸群功能
2021/01/28 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
逃课打麻将检讨书
2014/10/05 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书