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