gpt4 book ai didi

x86 - 使用 C++ 列出 Windows 上所有已安装的程序

转载 作者:行者123 更新时间:2023-12-05 00:02:05 25 4
gpt4 key购买 nike

我遇到了这个问题。
我必须列出 Windows 操作系统(x86 和 x64)上所有已安装的程序,包括 Internet Explorer 和其他 Windows 组件。

我尝试了一些解决方案:

  • 使用 WMI 查询 "SELECT * FROM Win32_Product" ,但结果没有Internet Explorer,并且在x64上,它没有列出所有程序。
  • 阅读注册表:我尝试阅读:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall在 x86 上,但未列出 IE。

  • 总结,我需要列出 x86 和 x64 操作系统上所有已安装的程序和 Windows 组件(如 IE)。

    谁能帮我?
    非常感谢。

    最佳答案

    试试这个 WMI 查询脚本,看看它是否也缺少您的 x64 内容。如果没有,则在 x64 命令 shell 下重试。我怀疑您正在以 32 位模式执行程序:

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.CreateTextFile("c:\scripts\software.tsv", True)
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colSoftware = objWMIService.ExecQuery _
    ("SELECT * FROM Win32_Product")
    objTextFile.WriteLine "Caption" & vbtab & _
    "Description" & vbtab & "Identifying Number" & vbtab & _
    "Install Date" & vbtab & "Install Location" & vbtab & _
    "Install State" & vbtab & "Name" & vbtab & _
    "Package Cache" & vbtab & "SKU Number" & vbtab & "Vendor" & vbtab _
    & "Version"
    For Each objSoftware in colSoftware
    objTextFile.WriteLine objSoftware.Caption & vbtab & _
    objSoftware.Description & vbtab & _
    objSoftware.IdentifyingNumber & vbtab & _
    objSoftware.InstallLocation & vbtab & _
    objSoftware.InstallState & vbtab & _
    objSoftware.Name & vbtab & _
    objSoftware.PackageCache & vbtab & _
    objSoftware.SKUNumber & vbtab & _
    objSoftware.Vendor & vbtab & _
    objSoftware.Version
    Next
    objTextFile.Close

    来源:
    Enumerating Installed Software

    关于x86 - 使用 C++ 列出 Windows 上所有已安装的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15997929/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com