在WinXP / Vista上运行使用Win7功能的应用程序

时间:2011-05-27 15:02:11

标签: c++ visual-studio winapi visual-c++ windows-7

我正在开发一款使用WinXP上没有的一些高级Windows 7功能的应用。 假设我想使用ChangeWindowMessageFilterEx(或自Win7以来添加的任何其他调用),该应用程序编译并在Win7上正常工作。但是在XP上我得到“程序入口点ChangeWindowMessageFilterEx无法在动态链接库USER32.dll中找到”,甚至在应用程序启动之前也是如此。

有没有办法在不编译两个不同版本的情况下在XP上运行我的应用程序?

1 个答案:

答案 0 :(得分:8)

您可以使用LoadLibraryGetProcAddress动态解析ChangeWindowMessageFilterEx。如果GetProcAddress返回NULL,则您不会调用此函数。

另见:
Checking for existence of Windows API Functions
Using Run-Time Dynamic Linking