winreg 库用于访问 Windows 注册表

获取已安装软件的信息

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall
HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall
# 32 位程序
HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\Windows\\CurrentVersion\\Uninstall

代码实现获取微信安装信息

# coding=utf-8
import winreg

def get_installed_software():
    # key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall")
    # key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall")
    key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\")
    
    i = 0
    is_wc = False
    while True:
        try:
            subkey_name = winreg.EnumKey(key, i)
            i += 1
            subkey = winreg.OpenKey(key, subkey_name)
            if subkey_name == "WeChat":
                is_wc = True
                break
        except OSError:
            break

    if is_wc:
        software_name = winreg.QueryValueEx(subkey, "DisplayName")[0]
        software_version = winreg.QueryValueEx(subkey, "DisplayVersion")[0]
        software_path = winreg.QueryValueEx(subkey, "InstallLocation")[0]
        return {"subkey_name": subkey_name, "Name": software_name, "Version": software_version, "Path": software_path}
    else:

        return None

installed_software = get_installed_software()
print(installed_software)
分类: 代码段 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录