我正在编写一个软件,它在给定的时刻需要查找给定的软件是否已经安装(通过其名称)——所以安装程序在安装它的软件时会做同样的事情,有时会提醒该软件已安装在 PC 中。
问题是我不知道哪种方法比较好。现在软件只查看默认文件夹,如果找不到 .exe,他会要求用户指出他安装软件的位置,否则就认为它已卸载。
但我希望它自己做事;它应该能够发现是否在没有用户输入的情况下安装了软件,我不确定哪种方法是执行此操作的有效方法。
我现在找到的唯一方法是做与 Windows 的“添加/删除程序”相同的事情:查看许多注册表项并尝试找到它,但我认为这会花费太多不必要的时间,因为它看起来在很多地方都只能找到一个软件。
那么在 C++ 中是否还有其他成本更低的选择?
谢谢,
莫吉尔
最佳答案
这完全取决于你想问的东西是如何安装的。如果它始终是从 MSI 安装的,您可以阅读 MSI 并学习调用 API 和/或阅读注册表以查看其唯一 ID 是否存在。
如果用'unzip'安装,没有简洁的解决办法。
关于c++ - 使用 C++ 查找特定软件是否安装在 Windows 中的最合适方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12018632/