程序中使用QueueUserAPC(),为什么编译时会出现QueueUserAPC' : undeclared identifier?

19780812 2004-03-29 04:49:04
有#include "Winbase.h"
...全文
235 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rivershan 2004-03-30
  • 打赏
  • 举报
回复
头文件太旧了~
薛定谔之死猫 2004-03-29
  • 打赏
  • 举报
回复
如楼上所说,用LoadLibrary,GetProcAddress,FreeLibrary直接调用算了。
Jiaft3000 2004-03-29
  • 打赏
  • 举报
回复
你的psdk是不是最新的? 如果不想升级psdk,也可以直接取函数地址调用,
(要是说错了别骂我)
vcforever 2004-03-29
  • 打赏
  • 举报
回复 1
Requirements
Windows NT/2000/XP: Included in Windows NT 4.0 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.


如果你的操作系统是NT的话需要如下定义宏
#define _WIN32_WINNT 0x0400

windows98
#define _WIN32_WINDOWS 0x0410

windows2000
#define _WIN32_WINNT 0x0500

xstring 2004-03-29
  • 打赏
  • 举报
回复
那就
#define _WIN32_WINNT 0x500
如果还不成的话,说明你的头文件太旧了,该换新的了

下面是我从winbase.h中摘出来的

#if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)

typedef
VOID
(APIENTRY *PAPCFUNC)(
ULONG_PTR dwParam
);

WINBASEAPI
DWORD
WINAPI
QueueUserAPC(
IN PAPCFUNC pfnAPC,
IN HANDLE hThread,
IN ULONG_PTR dwData
);

#endif /* _WIN32_WINNT >= 0x0400 || _WIN32_WINDOWS > 0x0400 */

win9x也可以用
19780812 2004-03-29
  • 打赏
  • 举报
回复
急!!!拜托各位了
19780812 2004-03-29
  • 打赏
  • 举报
回复
谢谢楼上,
好像还是不能有问题,能不能详细一点。
Win9x能用吗?
xstring 2004-03-29
  • 打赏
  • 举报
回复
需要这个宏定义

#define _WIN32_WINNT 0x400

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧