有没有办法禁止WritePrivateProfileString写入注册表,而是使用我们提供给它的ini文件?我从MSDN上看到你可以禁用文件写入并专门使用Registry,但反之亦然。我希望保持程序的可移植性,同时使用标准的win apis存储配置数据(而不是创建新的东西)..
由于
答案 0 :(得分:2)
如果您的ini文件已映射到注册表,那么您显然已将其添加到 HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ IniFileMapping。删除该条目,您的ini文件将最终到达您期望的位置。您的代码行在我的计算机上按预期工作。
答案 1 :(得分:1)
我假设您正在使用MFC,因为只有它有自己的WritePrivateProfileString
版本和类似的功能。当您使用较新版本的MFC编译代码时,您将自动使用这些API的MFC等效项,而MFC只是使用您传递给'API的信息并从注册表中写入/读取它们。
为避免这种情况,请不要写
你的代码中的WritePrivateProfileString
但是
:: WritePrivateProfileString
代替。
答案 2 :(得分:0)
是。挂钩(您可以使用Microsoft Detours等库轻松完成。)