0

我正在使用 C++ 为 Windows 上的现有应用程序编写补丁。目的是编辑软件的配置文件,使其按照用户的要求工作。

但是,重要的是在修补之前检查软件是否已安装。此外,如果安装了软件,重要的是要知道它安装在哪个目录中,以便我可以打开该目录中的文件并对其进行编辑。

一种方法是检查文件是否存在于“C:\Program Files...等”中。

现在,当用户在安装过程中修改了该软件的安装目录,或者如果它是 64 位 Windows 操作系统,而将其存储在“C:\Program Files (x86)”中时,就会出现问题。

因此,在默认安装目录中检查文件的存在几乎没有任何意义。

我听说一些开发人员这样做的另一种方法是检查 Windows 注册表以了解该软件是否已安装,以及安装在哪个目录中(如果确实存在)。

另外,我不知道如何使用 C++ 查看注册表。我也不知道要检查哪个注册表项或值来获取软件的安装路径。

请告诉我是否有您知道的上述两种方法的替代方法。如果不存在任何好的选择,我只想知道如何使用注册表来实现这个目标。

编辑:我正在修补的软件是 Dev C++ 和 Code::Blocks 编译器。

谢谢!

4

1 回答 1

0

很难回答这个问题,因为您没有提到安装目录将被更改的场景。如果您能够更改安装目录,为什么不尝试这样的 C:\Program Files (x86)\your_folder_name?这样,您的安装目录不会被其他用户更改。

于 2013-08-14T15:33:20.967 回答