枚举C++中安装在windows上的应用程序
Enumerate applications installed on windows in C++
我想列出c中所有已安装的应用程序。我们可以使用两种方法。1.使用卸载注册表和2。WMI和Win32_product类别。
但使用注册表枚举已安装的产品是否可靠?WMI也只列出通过MSI安装程序安装的产品?有别的办法吗?如果没有,哪种方式是最好的和推荐的?
您的直觉是正确的,迭代注册表是找出"安装"了哪些程序的最完整方法。显然,这不会找到不在windows注册表中注册的独立二进制文件/应用程序。
参见WMI";已安装";查询不同于添加/删除程序列表?
Rob Haupt的Answer链接到一些用于检查注册表的代码
相关文章:
- 如何从Windows应用程序输出到标准?
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 将 Crashpad 与 Windows Qt 应用程序集成
- 在 Windows/C++ 上使用多进程应用程序的高精度定时操作
- 将控制台应用程序直接输出到Visual Studio而不是外部Windows控制台中
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- 将通用Windows应用程序转换为VisualStudio 2019上的常规应用程序
- Windows 7 应用程序在未聚焦时运行速度较慢
- 通知 Windows 系统应用程序字体已被卸载/删除
- 在Linux上交叉编译Windows应用程序时如何链接到Winsock?
- C++应用程序缺少 winrt::Windows::Storage::Streams::D ataWriter
- Windows 和 Android 应用程序是否需要 SSL?
- 如何使用cmake和Visual Studio 2019编译简单的Windows应用程序?
- 我可以用C++/WinRT编写一个DLL,供windows桌面应用程序(而不是UWP)或Unity插件使用吗
- 如何在Windows窗体应用程序中打开txt文件并将行导入文本框
- OutputDebugString在Windows通用应用程序上的位置?以及如何从OutputDebugString捕获
- 我应该使用什么信号来终止/终止Windows上的应用程序
- 生成窗体的控制台应用程序(Windows窗体)
- 编译C++源以在Windows应用商店应用程序(Windows 8)中使用它们
- 如何知道进程是否为应用程序- Windows