vc6下底层键盘钩子WH_KEYBOARD_LL未定义的解决方法

在VC6环境下,使用底层键盘钩子WH_KEYBOARD_LL时遇到未定义的问题,通常与库版本和宏定义有关。尝试在工程中添加#define _WIN32_WINNT 0x0500或0x0400宏可以解决部分问题,但MFC工程仍可能遇到此问题。尽管尝试多种方法,如参考论坛帖子,但问题仍未彻底解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发现csdn的头像全都显示不出来真的是网速的问题。。。

底层键盘钩子用于钩一些系统键比如win键,而且底层键盘钩子一定是全局的,不能绑到某个进程上去,如果这样做,那会什么都钩不到。

你问普通钩子和底层钩子有神马差别?我说就是WH_KEYBOARD和WH_KEYBOARD_LL这两个有区别你信不?

vc6,虽然你很让我蛋疼,和visio、office2007有冲突,还那么多的未定义,但是哥依然没有舍弃你,我就是这么专一

 

http://topic.youkuaiyun.com/u/20100427/14/77dca98f-190f-4c76-b4c9-6292ad60b76f.html这个帖子里面有很多WH_KEYBOARD_LL未定义问题的解决方法

我和楼主是一样的情况,而且下面的方法试了都没有成功解决

http://hi.baidu.com/freeness/blog/item/3198421662d0e04821a4e93c.html中楼主说

另外一点,与本文关系不太大的是,如果在编译时出现未定义的WH_KEYBOARD_LL、WH_MOUSE_LL、KBDLLHOOKSTRUCT、MSLLHOOKSTRUCT等错误的话,在StdAfx.h的最顶端加上宏:

#define        _WIN32_WINNT        0x0500
#define        WIN_VER          0x0500

即可。

 

但是那个烦人的未定义错误依然存在,怎么办?

一时间,卸载vc6、重装系统、换台电脑各种冲动的想法从我脑海中浮现。。。(专一你妹!)

 

但是天无绝人之路,在http://topic.youkuaiyun.com/u/20090822/21/5ce7a80f-4c0e-4ab3-958f-05c456055671.html中受到了启发

这个WH_KEYBOARD_LL就是跟这个 _WIN32_WINNT宏有关的,在dll工程的cpp文件前面加上#define _WIN32_WINNT 0x0400这一句,ok,没有错误了。

 

但是mfc工程下如果使用底层键盘钩子依然会报未定义,这个问题依然没有解决,我这个逃避帝,谁要是知道跟俺说一声吧,谢谢啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值