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

pul*_*van 4 c++ winapi visual-studio visual-c++ windows-7

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

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

GSe*_*erg 8

你通过动态解析ChangeWindowMessageFilterEx使用LoadLibrary和来做到这一点GetProcAddress.如果GetProcAddress返回NULL,则只是不调用此函数.

另请参阅:使用运行时动态链接
检查是否存在Windows API函数