键盘钩子 为何我的钩子钩不到windows键?

freesky918 2007-12-04 09:54:11
我搞了个全局钩子,
本来只想钩掉windows键的,但是却发现钩不到。

于是就直接在KeyboardProc下用return 1返回,打算钩掉所有按键。
但却发现其它键都不能用了,而windows键还能用。
怎么这个windows键就钩不住呢?
大家帮帮忙!
...全文
117 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
passionhip 2007-12-06
  • 打赏
  • 举报
回复
帮顶,等结果。。
freesky918 2007-12-06
  • 打赏
  • 举报
回复 1
谢了,问题解决了。
以后打魔兽就不怕按到windows键呵呵。
注:
在xp下用WH_KEYBOARD_LL钩子,
需要加以下几句:

#define WH_KEYBOARD_LL 13 //缺少这句会提示WH_KEYBOARD_LL没定义

typedef struct tagKBDLLHOOKSTRUCT { //缺少此结构体的定义,会提示KBDLLHOOKSTRUCT没定义。
//此结构体是从winuser.h里面拷过来的
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
DWORD dwExtraInfo;
} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;


结贴。谢谢大家。
freesky918 2007-12-06
  • 打赏
  • 举报
回复
那位兄弟帮帮忙?

自己顶顶。

csdn越来越冷清了,唉
tiger波波 2007-12-06
  • 打赏
  • 举报
回复
网上搜的,看看有没用


因为系统键在调用WH_KEYBOARD钩子之前就已经被处理了,你在WH_KEYBOARD钩子中无法处理。在Windows 9x下要禁用系统键可以参考QA000295 "如何封锁“CTRL+ALT+DEL”和“ALT+ESC”组合键"、QA000171 "如何封锁ALT-TAB、ALT-CTRL-DEL键以及不让Windows的任务栏出现"。
在Windows NT 4.0 SP3以后的版本可以使用WH_KEYBOARD_LL钩子。

某人的的意见:
建议用日志钩子,他在系统处理前处理。
an_bachelor 2007-12-05
  • 打赏
  • 举报
回复
Ctrl+Alt+Del這個組和鍵不能用鈎子來屏蔽
freesky918 2007-12-05
  • 打赏
  • 举报
回复
谢谢。
不过我只想屏蔽windows键,
就是ctrl和alt之间的那个键,按下后弹出开始菜单的那个。

15,473

社区成员

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

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