python安装注册表如何获取远程机器注册表,HKEY_CURRENT_USER下的某个value?

打开注册表命令:regedit依次展开上述注册表路径,安装程序列表如下图:


获取系统安装程序列表:

 


获取安装程序属性信息(二次读取注册表):
 
通过注册表路径获取调用:
#获取该键的所有键值因为没有方法可以获取键值的个数,所以只能用这种方法进行遍历 #如果知道键的名称也可以直接取值 #给新创建的键添加键值

win32api 和 _winreg 的方法很类似,一般是多了一个前缀"Reg"使用方法很基本上一样,这里就不给具体的Demo代码了

就一般的应用来说,使用_winreg就足够了但是_winreg有一个问题,如果python安装紸册表是32位的并且是运行在64位的操作系统上时就会有一点小问题,由于操作系统会进行注册表的重定向32位的程序无法访问64位应用程序嘚注册表。在python安装注册表2.6以前这个问题都没有解决在python安装注册表2.7中通过补丁的形式修正了这个问题()。

通过例子来说明一下这个问题假設我们的操作系统是64位的,然后在上面安装了32位的python安装注册表看如下的python安装注册表代码:

上面的代码的执行不会像预想那样创建如下的鍵:

因为在64位的windows操作系统下,64位的程序和32位程序的注册表是分开的32位应用程序对注册表的操作(读、写)都会被重定向到Wow6432Node下面, 64位应用程序的访问注册表的行为则没有变化因此如果我们的32位应用程序确实要访问64位程序所用到的注册表的话,就会有点问题由于_winreg本身的问题,它对这种情况的支持不太充分对windows api的封装有一些bug,这个时候就需要用到 win32api 模块

下面用win32api提供的方法来修改上面的代码如下:

我要回帖

更多关于 python安装注册表 的文章

 

随机推荐