zoukankan      html  css  js  c++  java
  • Python获取软件安装列表

    python获取软件安装列表

    #!/usr/bin/python
    
    import os
    import socket
    import winreg
    
    # 检测主机名,并将主机名作文检测结果的文件名
    file = open(r'd:123Soft.txt')
    
    # 定义检测位置
    sub_key = [r'SOFTWAREMicrosoftWindowsCurrentVersionUninstall',
               r'SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall']
    
    software_name = []
    adobe = 'adobe'
    for i in sub_key:
        key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, i, 0, winreg.KEY_ALL_ACCESS)
        for j in range(0, winreg.QueryInfoKey(key)[0] - 1):
            try:
                key_name = winreg.EnumKey(key, j)
                key_path = i + '\' + key_name
                each_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_path, 0, winreg.KEY_ALL_ACCESS)
                DisplayName, REG_SZ = winreg.QueryValueEx(each_key, 'DisplayName')
                DisplayVersion, REG_SZ1 = winreg.QueryValueEx(each_key, 'DisplayVersion')
                Publisher, REG_SZ2 = winreg.QueryValueEx(each_key, 'Publisher')
                InstallDate, REG_SZ3 = winreg.QueryValueEx(each_key, 'InstallDate')
                DisplayName = DisplayName.encode('utf-8')
                software_name.append(DisplayName)
            except WindowsError:
                pass
    
    software_name = list(set(software_name))
    software_name = sorted(software_name)
    
    for result in software_name:
        print(result.decode("utf-8"))
        # print(result.decode("gbk"))
        # file.write(str(result) + '
    ')
    file.close()
  • 相关阅读:
    String与StringBuffer
    oracleSQL文
    中国IT成功人士特点6大成功密码全解析
    对java学习有帮助
    Spring之工厂模式
    搭建IBatis 框架
    单例模式(Singleton)
    UVa 10180 Rope Crisis in Ropeland!
    HDU 3711 Binary Number
    UVaLive 4643 / LA 4643 Twenty Questions(对题意的解释已修改)
  • 原文地址:https://www.cnblogs.com/LoganChen/p/14074380.html
Copyright © 2011-2022 走看看