我想在c中列出所有已安装的应用程序。我们可以使用两种方法来做到这一点。
1.使用卸载注册表和2. WMI和Win32_product类。
但是使用注册表枚举已安装的产品是否可靠?而且WMI仅列出通过MSI安装程序安装的产品吗?还有另一种方法吗?如果不是,那是最好的推荐方法?
最佳答案
您的直觉是正确的,迭代注册表是找出“安装”哪些程序的最完整方法。显然,这将找不到未在Windows注册表中注册自己的独立二进制文件/应用程序。
见WMI "installed" query different from add/remove programs list?
Rob Haupt's Answer链接到some code用于检查注册表
关于c++ - 枚举C++中Windows上安装的应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12243481/