我包含了头文件 <winuser.h>在最开头定义了 #define _WIN32_WINNT 0x0500
#define WIN_VER 0x0500
然后百度了所有能找到的方法但是最后的结果都是提示 未定义的WH_KEYBOARD_LL、WH_MOUSE_LL、KBDLLHOOKSTRUCT、MSLLHOOKSTRUCT
求大神解决,我都要疯了~~~~~~
#define WIN_VER 0x0500
然后百度了所有能找到的方法但是最后的结果都是提示 未定义的WH_KEYBOARD_LL、WH_MOUSE_LL、KBDLLHOOKSTRUCT、MSLLHOOKSTRUCT
求大神解决,我都要疯了~~~~~~
解决方案 »
- [GDI]GetCurrentObject()和SelectObject()的问题
- 对话框接收消息的问题 ?
- 如何获得当前插入符的高度,或者是正在输入的字体的高度
- 如何在CFormView 找到ondraw() 函数,在这个视里画图?
- 图像处理高手帮忙!去除二值图像上污迹点的问题
- 关于基于Dialog的程序IDR_MAINFRAME 的问题,急问
- 请问怎么画直线?
- 除用一大堆的宏定义外,有没有一种更好的方法来制作一个程序的多个权限版本?
- IMarshal,IPersistX系列接口问题。55分是我现在的所有分数了
- 问一个简单的问题,如何清空CListBox中的所有项目?
- VC操作Powerpoint
- windows下互斥锁和条件变量用什么实现?
#define WH_MOUSE_LL 14typedef struct {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;typedef struct {
POINT pt;
DWORD mouseData;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;直接将上面的结构和定义放到你的程序中去就肯定没问题啦。
vs2008 我用的
/*
* SetWindowsHook() codes
*/
#define WH_MIN (-1)
#define WH_MSGFILTER (-1)
#define WH_JOURNALRECORD 0
#define WH_JOURNALPLAYBACK 1
#define WH_KEYBOARD 2
#define WH_GETMESSAGE 3
#define WH_CALLWNDPROC 4
#define WH_CBT 5
#define WH_SYSMSGFILTER 6
#define WH_MOUSE 7
#if defined(_WIN32_WINDOWS)
#define WH_HARDWARE 8
#endif
#define WH_DEBUG 9
#define WH_SHELL 10
#define WH_FOREGROUNDIDLE 11
#if(WINVER >= 0x0400)
#define WH_CALLWNDPROCRET 12
#endif /* WINVER >= 0x0400 */#if (_WIN32_WINNT >= 0x0400)
#define WH_KEYBOARD_LL 13
#define WH_MOUSE_LL 14
#endif // (_WIN32_WINNT >= 0x0400)#if(WINVER >= 0x0400)
#if (_WIN32_WINNT >= 0x0400)
#define WH_MAX 14
#else
#define WH_MAX 12
#endif // (_WIN32_WINNT >= 0x0400)
#else
#define WH_MAX 11
#endif#define WH_MINHOOK WH_MIN
#define WH_MAXHOOK WH_MAX/*
* Hook Codes
*/
#define HC_ACTION 0
#define HC_GETNEXT 1
#define HC_SKIP 2
#define HC_NOREMOVE 3
#define HC_NOREM HC_NOREMOVE
#define HC_SYSMODALON 4
#define HC_SYSMODALOFF 5