我们使用的第三方库有时在Win7上无法正常运行。我们知道如何在安装时配置它,但我们也想考虑在运行时设置它。这是可能的,还是必须在发布之前设置上下文? (我认为有一个很小的机会,但无论如何我都会问)
(C ++应用程序 - 并不重要)
答案 0 :(得分:2)
应用程序运行后,无法更改兼容性设置。
但是,你可以做的是有一个启动器应用程序,确保兼容性设置正确,然后启动你的应用程序。当然,您需要确保启动器应用程序没有兼容性问题。
答案 1 :(得分:0)
兼容性设置仅仅是预处理器宏,它们阻止了所选平台上不可用的头文件中的部分Win32 API。
但是,因为整个API都是由DLL提供的,所以您可以确定在运行时运行的操作系统,然后使用LoadLibrary和GetProcAddress获取必要的平台特定入口点。