我正在使用 C++ 为 Windows 上的现有应用程序编写补丁。目的是编辑软件的配置文件,使其按照用户的要求工作。
但是,重要的是在修补之前检查软件是否已安装。此外,如果安装了软件,重要的是要知道它安装在哪个目录中,以便我可以打开该目录中的文件并对其进行编辑。
一种方法是检查文件是否存在于“C:\Program Files...等”中。
现在,当用户在安装过程中修改了该软件的安装目录,或者如果它是 64 位 Windows 操作系统,而将其存储在“C:\Program Files (x86)”中时,就会出现问题。
因此,在默认安装目录中检查文件的存在几乎没有任何意义。
我听说一些开发人员这样做的另一种方法是检查 Windows 注册表以了解该软件是否已安装,以及安装在哪个目录中(如果确实存在)。
另外,我不知道如何使用 C++ 查看注册表。我也不知道要检查哪个注册表项或值来获取软件的安装路径。
请告诉我是否有您知道的上述两种方法的替代方法。如果不存在任何好的选择,我只想知道如何使用注册表来实现这个目标。
编辑:我正在修补的软件是 Dev C++ 和 Code::Blocks 编译器。
谢谢!