python实现查找所有程序的安装信息


Posted in Python onFebruary 18, 2020

如题,答案是:通过注册表查找。

windows系统中有两支子健存储有所有程序的安装信息:

1,HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store

python实现查找所有程序的安装信息

以下是查找360浏览器安装路径的python代码示例:

import win32con, win32api

def find_360se_path(): 
 upper_keyword = '360SE.EXE' 
 path = None 
 sub_key = r'Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store' 
 key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, sub_key, 0, win32con.KEY_READ) 
 info = win32api.RegQueryInfoKey(key) 
 for i in range(0, info[1]):  
  value = win32api.RegEnumValue(key, i)  
  if value[0].upper().endswith(upper_keyword):
   path = value[0]   
   break 
 win32api.RegCloseKey(key) 
 return path

2,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

python实现查找所有程序的安装信息

以下是查找360浏览器安装路径的python代码示例:

import win32con, win32apidef 

find_360se_path(): 
 upper_value_keyword = '360SE.EXE' 
 upper_item_name_keyword = '360SE6.EXE' 
 path = None 
 sub_key1 = r'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths' 
 key1 = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, sub_key1, 0, win32con.KEY_READ) 
 info1 = win32api.RegQueryInfoKey(key1) 
 for i in range(0, info1[0]):  
  key_name = win32api.RegEnumKey(key1, i)  
  if key_name.upper() == upper_item_name_keyword:
   sub_key2 = sub_key1 + '\\' + key_name
   key2 = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, sub_key2, 0, win32con.KEY_READ)   
   info2 = win32api.RegQueryInfoKey(key2)   
   for j in range(0, info2[1]):    
    key_value = win32api.RegEnumValue(key2, j)[1]
    if key_value.upper().endswith(upper_value_keyword): 
     path = key_value     
     break   
   win32api.RegCloseKey(key2)   
  break 
 win32api.RegCloseKey(key1) 
 return path
Python 相关文章推荐
Python升级提示Tkinter模块找不到的解决方法
Aug 22 Python
tensorflow中next_batch的具体使用
Feb 02 Python
Python 实现网页自动截图的示例讲解
May 17 Python
Numpy 改变数组维度的几种方法小结
Aug 02 Python
Python基于plotly模块实现的画图操作示例
Jan 23 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
Python如何操作office实现自动化及win32com.client的运用
Apr 01 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
python的help函数如何使用
Jun 11 Python
Python如何读写二进制数组数据
Aug 01 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 #Python
Pytorch mask_select 函数的用法详解
Feb 18 #Python
pytorch masked_fill报错的解决
Feb 18 #Python
python分别打包出32位和64位应用程序
Feb 18 #Python
pandas和spark dataframe互相转换实例详解
Feb 18 #Python
PyTorch中Tensor的数据统计示例
Feb 17 #Python
pytorch实现Tensor变量之间的转换
Feb 17 #Python
You might like
第七节 类的静态成员 [7]
2006/10/09 PHP
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
PHP引用符&的用法详细解析
2013/08/22 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
python实现封装得到virustotal扫描结果
2014/10/05 Python
python中pygame模块用法实例
2014/10/09 Python
python实现通过代理服务器访问远程url的方法
2015/04/29 Python
python numpy 按行归一化的实例
2019/01/21 Python
Python Selenium参数配置方法解析
2020/01/19 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
音乐器材管理制度
2014/01/31 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
公司食堂管理制度
2015/08/05 职场文书
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js