python3读写windows注册表实例

网上的很多代码真的只能参考,有很多停留在python2的编码风格或者没更新新模块的语法沿用语法编写!(当然这是个人观点,如果是系统工程的编码优点还望指正)

winreg是内置模块,不用安装,直接上码

import winreg

dict1 = {}   #新建字典
reg_name = []   #新建数组,存放注册表名
reg_value = []    #新建数组,存放注册表值

key = winreg.CreateKey(winreg.HKEY_CURRENT_USER,
                     r"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders")

### 根据官网说明,windows注册表没有提供api返回表项数量,只能设置循环到最后强制退出,自己计算
try:
    i = 0
    while 1:
        name, value, type = winreg.EnumValue(key, i)
        reg_name.append(name)
        reg_value.append(value)
        dict1 = dict(zip(reg_name, reg_value))  #利用zip绑定两个返回项做成字典,方便查找
        i += 1
except OSError:
    pass

print(dict1.get(‘Desktop‘))

方法可能有点笨拙,因为编程经验缺乏,如有建议还望大虾指导指正

备注:

新winreg模块使用CreateKey、OSError替代,保留OpenKey、WindowsError别名用作兼容!

删除还在研究,如有心得会补充更新,可以参考下面两个链接的说明

Reference:

https://blog.csdn.net/pondbay/article/details/9424817

https://blog.51cto.com/11097647/1888591

https://docs.python.org/3/library/winreg.html?highlight=winreg#  python官网描述winreg模块

来源:站长新闻

原文地址:https://www.cnblogs.com/1994jinnan/p/12178077.html

时间: 2024-08-11 21:13:00

python3读写windows注册表实例的相关文章

读写windows注册表

最近有在做一写读写配置文件的项目内容,了解到注册表也可以写配置,于是顺便连接一下读写注册表的内容. MFC上读写注册表 MFC的CWinApp 类提供了很容易的注册表访问函数~~以前从来没注意过~~还到处找读写注册表的办法~~ -_-! 看下面几个成员函数~ SetRegistryKey Causes application settings to be stored in the registry instead of .INI files. SetRegistryKey 这个函数功能是设置M

Java 修改Windows注册表,以实现开机自启动应用程序。

使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg add 将新的子项或项添加到注册表中 语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f] 参数 KeyName 指定子项的完全路径.对于远程计算机,请在\\ComputerName\Pat

QSettings配置读写-win注册表操作-ini文件读写

版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写     本文地址:http://techieliang.com/2017/12/674/ 文章目录 1. 介绍 2. 创建配置文件  2.1. 配置格式  2.2. 作用域  2.3. 关于组织.程序名 3. 配置文件读写 4. 范例  4.1. win下SystemScope.IniFormat  4.2. win下UserSc

32位程序访问64位系统上的Windows注册表

今天在工作的过程中遇到个奇怪的为问题,就是通过c#获取注册表键值的问题,一般都比较简单: string SQLPath = string.Empty; RegistryKey hkml = Registry.LocalMachine; RegistryKey MSSQLServerKey = hkml.OpenSubKey(@"SOFTWARE\MICROSOFT\MSSQLServer"); if (MSSQLServerKey != null) { string[] keys =

Windows 注册表

<1>64位操作系统上的注册表 <2>文件系统重定向 <3>UAC <4>注册表重定向 <5>SysWoW64 <6>注册表存放位置 <7>注册表跟环境变量 <1>64位操作系统 在64位的操作系统中有64位版本的注册表编辑器以及32版本的注册表编辑器,64版本的注册表在C:\Windows\regedit.exe,32位版本的在C:\Windows\SysWow64\regedit.exe. 注册表中的内容主

利用java.util.prefs包操作windows注册表

利用java.util.prefs包操作windows注册表 Java 操作windows注册表,主要的API 主要接口 接口 说明 NodeChangeListener 用于接收首选项节点更改事件的侦听器. PreferenceChangeListener 用于接收首选项节点更改事件的侦听器. PreferencesFactory 生成Preferences对象的factory对象. 主要的类 类 说明 AbstractPreferences 此类提供了Preferences类的骨干实现,从而

windows注册表编程

Windows注册表 1 注册表的作用 注册表在windows中非常重要,它是一个庞大的数据库,里面保存了大量的系统信息,例如保存软件硬件的配置信息,计算机系统的设置,性能记录. 如果注册表遭到破坏,就可能对整个系统造成影响,甚至系统瘫痪. 2 注册表的结构 注册表是树状的层次结构:主键-->子键-->子键-->子键-->---->键值.其中每一个键都有键值,键值由3部分构成:值名,值类型,值本身值.有点像int x =0的节奏哈. 每个键都有一个默认的值,所以的默认值就是说

详解Windows注册表分析取证

大多数都知道windows系统中有个叫注册表的东西,但却很少有人会去深入的了解它的作用以及如何对它进行操作.然而对于计算机取证人员来说注册表无疑是块巨大的宝藏.通过注册表取证人员能分析出系统发生了什么,发生的时间以及如何发生的等.在本文中我将为大家详细介绍Windows注册表的工作原理,以及如何对收集用户留下的各类指纹信息. 什么是注册表? 注册表是用于存储Windows系统用户,硬件和软件的存储配置信息的数据库.虽然注册表是为了配置系统而设计的,但它可以跟踪用户的活动,连接到系统的设备,什么时

一次Windows 注册表中注册表项目丢失导致的Oracle 数据库启动问题。

一次Windows  注册表中注册表项目丢失导致的Oracle 数据库启动问题. 环境说明: 1.windows 2008操作系统 x64bit 2.Oracle database 11.2.0.1 32bit 3.sqlplus / as sysdba进不去,报错: c:\user\administrator>sqlplus / as sysdba Error 6 initializing SQL*Plus Message file sp1<lang>.msb not found SP