没有合适的资源?快使用搜索试试~ 我知道了~
首页WINDOWS钩子函数的使用方法
WINDOWS钩子函数的使用方法
4星 · 超过85%的资源 需积分: 12 21 下载量 86 浏览量
更新于2023-03-16
评论
收藏 53KB DOC 举报
WINDOWS钩子函数的使用方法, 基于线程的 它将捕获其它进程中某一特定线程的事件。简言之,就是可以用来观察其它进程中的某一特定线程将发生的事件。 系统范围的 将捕捉系统中所有进程将发生的事件消息
资源详情
资源评论
资源推荐
WINDOWS 钩子函数
本课中我们将要学习 WINDOWS 钩子函数的使用方法。WINDOWS 钩子函数的功能非常强
大,有了它您可以探测其它进程并且改变其它进程的行为。
理论:
WINDOWS 的钩子函数可以认为是 WINDOWS 的主要特性之一。利用它们,您可以捕捉您
自己进程或其它进程发生的事件。通过“钩挂”,您可以给 WINDOWS 一个处理或过滤事件
的回调函数,该函数也叫做“钩子函数”,当每次发生您感兴趣的事件时,WINDOWS 都将
调用该函数。一共有两种类型的钩子:局部的和远程的。
局部钩子仅钩挂您自己进程的事件。
远程的钩子还可以将钩挂其它进程发生的事件。远程的钩子又有两种:
基于线程的 它将捕获其它进程中某一特定线程的事件。简言之,就是可以用来观察其它进
程中的某一特定线程将发生的事件。
系统范围的 将捕捉系统中所有进程将发生的事件消息。
安装钩子函数将会影响系统的性能。监测“系统范围事件”的系统钩子特别明显。因为系统
在处理所有的相关事件时都将调用您的钩子函数,这样您的系统将会明显的减慢。所以应
谨慎使用,用完后立即卸载。还有,由于您可以预先截获其它进程的消息,所以一旦您的
钩子函数出了问题的话必将影响其它的进程。记住:功能强大也意味着使用时要负责任。
在 正确 使用 钩子函数前,我们先讲解钩子函数的工作原理。当您创建一个钩子时 ,
WINDOWS 会先在内存中创建一个数据结构,该数据结构包含了钩子的相关信息,然后把
该结构体加到已经存在的钩子链表中去。新的钩子将加到老的前面。当一个事件发生时,
如果您安装的是一个局部钩子,您进程中的钩子函数将被调用。如果是一个远程钩子,系
统就必须把钩子函数插入到其它进程的地址空间,要做到这一点要求钩子函数必须在一个
动态链接库中,所以如果您想要使用远程钩子,就必须把该钩子函数放到动态链接库中去
当然有两个例外:工作日志钩子和工作日志回放钩子。这两个钩子的钩子函数必须在安装
钩子的线程中。原因是:这两个钩子是用来监控比较底层的硬件事件的,既然是记录和回
放,所有的事件就当然都是有先后次序的。所以如果把回调函数放在 DLL 中,输入的事件
被放在几个线程中记录,所以我们无法保证得到正确的次序。故解决的办法是:把钩子函
数放到单个的线程中,譬如安装钩子的线程。
钩子一共有 14 种,以下是它们被调用的时机:
WH_CALLWNDPROC 当调用 SendMessage 时
WH_CALLWNDPROCRET 当 SendMessage 的调用返回时
WH_GETMESSAGE 当调用 GetMessage 或 PeekMessage 时
WH_KEYBOARD 当调用 GetMessage 或 PeekMessage 来从消息队列中查询 WM_KEYUP 或
WM_KEYDOWN 消息时
WH_MOUSE 当调用 GetMessage 或 PeekMessage 来从消息队列中查询鼠标事件消息时
WH_HARDWARE 当调用 GetMessage 或 PeekMessage 来从消息队列种查询非鼠标、键盘消
息时
WH_MSGFILTER 当对话框、菜单或滚动条要处理一个消息时。该钩子是局部的。它时为
那些有自己的消息处理过程的控件对象设计的。
WH_SYSMSGFILTER 和 WH_MSGFILTER 一样,只不过是系统范围的
WH_JOURNALRECORD 当 WINDOWS 从硬件队列中获得消息时
dong4464he
- 粉丝: 0
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1