TC官方合作论坛

 找回密码
 立即注册
查看: 317|回复: 4
打印 上一主题 下一主题

[教程] 【hook】键盘钩子。低层键盘钩子。

[复制链接]
跳转到指定楼层
楼主
发表于 2018-3-22 21:30:53 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 剑仙十号 于 2018-3-22 23:50 编辑

【hook】键盘钩子。低层键盘钩子。

Acict :
谁能给讲一下键盘钩子使用WH_KEYBOARD和WH_KEYBOARD_LL的区别
如题,请了解的大侠给讲一下SetWindowsHookEx函数中钩子类型设置WH_KEYBOARD和WH_KEYBOARD_LL的时候,回调函数中wParam和lParam分别代表什么含义?

WH_KEYBOARD的lParam,直接是一个二进制0--31位。位左边是最高位,右边最低位。中间是中高位,中低位。

WH_KEYBOARD_LL的lParam,是一个KBDLLHOOKSTRUCT结构。
typedef struct tagKBDLLHOOKSTRUCT {
  DWORD     vkCode;
  DWORD     scanCode;
  DWORD     flags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT;
这个结构.flags(成员3),是一个二进制0--7位。

此外,KBDLLHOOKSTRUCT这个结构中scanCode(硬件扫描码)有什么用处?

=======================================================
actoferrin
05-21 09:43
等级
1楼
WH_KEYBOARD的钩子过程,在GetMessage或PeekMessage要取回一个键盘消息时调用,直接在被监视的线程中执行

WH_KEYBOARD_LL的钩子过程,在一个键盘消息被投递到一个线程的消息队列之前调用,这个是向安装钩子的线程发送消息,让安装钩子的线程执行钩子过程,WH_KEYBOARD_LL必须是全局钩子,而且不需要在dll中。

游客,如果您要查看本帖隐藏内容请回复

位。左边是最高位,右边最低位.png (1.08 KB, 下载次数: 7)

位。左边是最高位,右边最低位.png
回复

使用道具 举报

沙发
 楼主| 发表于 2018-3-22 21:31:06 来自手机 | 只看该作者
本帖最后由 剑仙十号 于 2018-5-7 21:28 编辑

二楼,更新信息专用。
tc简单开发_爱好群:
143358382 (462/500)

tc简单开发_爱好群Ⅱ:
433286131 (215/500)

tc办公文本_爱好群:
612661895(60/500)

本群大神众多,新手众多。群文件内 资源海量。 希望新手 分享更多笔记,减少重复造轮子的时间。 好编程,齐学习,齐进步。
回复 支持 反对

使用道具 举报

板凳
发表于 2018-3-24 19:13:16 | 只看该作者
回复

使用道具 举报

地板
发表于 2018-7-1 13:19:15 | 只看该作者
kankan
回复

使用道具 举报

5#
发表于 2018-10-5 10:41:08 | 只看该作者
dddddddddddddddddddddddddd
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-17 05:39 , Processed in 0.235027 second(s), 25 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表