我正在开发一款使用WinXP上没有的一些高级Windows 7功能的应用。 假设我想使用ChangeWindowMessageFilterEx(或自Win7以来添加的任何其他调用),该应用程序编译并在Win7上正常工作。但是在XP上我得到“程序入口点ChangeWindowMessageFilterEx无法在动态链接库USER32.dll中找到”,甚至在应用程序启动之前也是如此。
有没有办法在不编译两个不同版本的情况下在XP上运行我的应用程序?
答案 0 :(得分:8)
您可以使用LoadLibrary
和GetProcAddress
动态解析ChangeWindowMessageFilterEx
。如果GetProcAddress
返回NULL
,则您不会调用此函数。
另见:
Checking for existence of Windows API Functions
Using Run-Time Dynamic Linking