如何列出/处理C++中安装在 Windows 计算机上的所有软件和相关.exe

How to list/enemurate all sofwares and related .exe installed on a Windows Computer in C++?

本文关键字:软件和 exe 计算机 Windows 处理 何列出 C++ 安装      更新时间:2023-10-16

作为应用程序的组件,我必须用c ++开发一种方法来列出Windows计算机上安装的所有软件。为了执行它们,我需要有它们相关的可执行文件。(例如:歌剧=>歌剧.exe)。在这个阶段,我已经能够在注册表中查看:软件\Microsoft\Windows\当前版本\卸载和软件\Wow6432Node\Microsoft\Windows\当前版本\卸载 并找到了几个软件(不是全部)所以我的问题来了:- 如何在计算机上安装所有软件?(我是否错过了注册表文件夹?- 如何定义与每个软件相关的良好.exe?

您可以尝试改编此处给出的脚本:

http://technet.microsoft.com/en-us/library/ee156540.aspx

通常,使用 WMI 查找已安装的包。或者,如果您真的想查找系统上的所有可执行文件,只需遍历文件系统以查找可执行文件(为什么?

对于C++,您可能希望查看WMI Win32_Product和SoftwareFeature的示例。看:http://msdn.microsoft.com/en-us/library/windows/desktop/aa394378(v=vs.85).aspx

但总的来说,没有理智的方法可以找到所有已安装的应用程序。特别是如果你计算像嵌入javascript的网页,各种脚本和批处理文件等。