Winapi &引用;找不到导入";在Windows XP中运行使用ChangeWindowMessageFilter的程序时出错
我有一个在Windows7/Vista上运行良好的程序,但在WindowsXP中执行时出现错误。它曾经运行过,但我添加了一个功能,在Windows7上,需要函数ChangeWindowMessageFilter。Windows XP给出的错误是 找不到导入;DLL可能丢失、损坏或版本错误文件“USER32.DLL”、函数“ChangeWindowMessageFilter”(错误0) 奇怪的是,我有一个if语句包围着这个函数,它确保操作系统的版本是Vista或更高版本,所以它甚至没有被调用。但也有一个错误。这是怎么发生的Winapi &引用;找不到导入";在Windows XP中运行使用ChangeWindowMessageFilter的程序时出错,winapi,windows-xp,operating-system,Winapi,Windows Xp,Operating System,我有一个在Windows7/Vista上运行良好的程序,但在WindowsXP中执行时出现错误。它曾经运行过,但我添加了一个功能,在Windows7上,需要函数ChangeWindowMessageFilter。Windows XP给出的错误是 找不到导入;DLL可能丢失、损坏或版本错误文件“USER32.DLL”、函数“ChangeWindowMessageFilter”(错误0) 奇怪的是,我有一个if语句包围着这个函数,它确保操作系统的版本是Vista或更高版本,所以它甚至没有被调用。但也
这是怎么回事 听起来像是在做静态链接而不是动态链接 请尝试以下方法: 在头文件中:
typedef BOOL(WINAPI*PFN\u CHANGEWINDOWMESSAGEFILTER)(UINT,DWORD)代码>
在C/CPP文件中:
PFN_CHANGEWINDOWMESSAGEFILTER pfnChangeWindowMessageFilter=(PFN_CHANGEWINDOWMESSAGEFILTER)GetProcAddress(hModule,“CHANGEWINDOWMESSAGEFILTER”)代码>
if (pfnChangeWindowMessageFilter) { /* Do the stuff */ }