钩子回调函数_第1页
钩子回调函数_第2页
钩子回调函数_第3页
钩子回调函数_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、winapi: setwindowshookex - 设置钩子 提示: 如果要设置系统级钩子, 钩子函数必须在 dll 中. setwindowshookex( idhook: integer; 钩子类型 lpfn: tfnhookproc; 函数指针 hmod: hinst; 包含钩子函数的模块(exe、dll)句柄; 一般是 hinstance; 如果是当前线程这里可以是 0 dwthreadid: dword 关联的线程; 可用 getcurrentthreadid 获取当前线程; 0 表示是系统级钩子): hhook; 返回钩子的句柄; 0 表示失败/钩子类型 idhook 选项:wh

2、_msgfilter = -1; 线程级; 截获用户与控件交互的消息wh_journalrecord = 0; 系统级; 记录所有消息队列从消息队列送出的输入消息, 在消息从队列中清除时发生; 可用于宏记录wh_journalplayback = 1; 系统级; 回放由 wh_journalrecord 记录的消息, 也就是将这些消息重新送入消息队列wh_keyboard = 2; 系统级或线程级; 截获键盘消息wh_getmessage = 3; 系统级或线程级; 截获从消息队列送出的消息wh_callwndproc = 4; 系统级或线程级; 截获发送到目标窗口的消息, 在 sendmes

3、sage 调用时发生wh_cbt = 5; 系统级或线程级; 截获系统基本消息, 譬如: 窗口的创建、激活、关闭、最大最小化、移动等等wh_sysmsgfilter = 6; 系统级; 截获系统范围内用户与控件交互的消息wh_mouse = 7; 系统级或线程级; 截获鼠标消息wh_hardware = 8; 系统级或线程级; 截获非标准硬件(非鼠标、键盘)的消息wh_debug = 9; 系统级或线程级; 在其他钩子调用前调用, 用于调试钩子wh_shell = 10; 系统级或线程级; 截获发向外壳应用程序的消息wh_foregroundidle = 11; 系统级或线程级; 在程序前台线

4、程空闲时调用wh_callwndprocret = 12; 系统级或线程级; 截获目标窗口处理完毕的消息, 在 sendmessage 调用后发生winapi: unhookwindowshookex - 卸掉钩子 unhookwindowshookex( hhk: hhook 钩子句柄): bool; true/falsewinapi: callnexthookex - 调用下一个钩子 callnexthookex( hhk: hhook; 当前钩子的句柄 ncode: integer; 钩子代码; 就是给下一个钩子要交待的 wparam: wparam; 要传递的参数; 由钩子类型决定是什

5、么参数 lparam: lparam 要传递的参数; 由钩子类型决定是什么参数): lresult; 会返回下一个钩子执行后的返回值; 0 表示失败/参数 ncode 的可选值:hc_action = 0; hc_getnext = 1; hc_skip = 2; hc_noremove = 3; hc_norem = hc_noremove; hc_sysmodalon = 4; hc_sysmodaloff = 5; winapi: 钩子回调函数之 msgfilterproc msgfilterproc( ncode: integer; wparam: wparam; lparam: lp

6、aram ): lresult; winapi: 钩子回调函数之 journalrecordproc journalrecordproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 keyboardproc keyboardproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 journalplaybackproc journalplaybackproc( ncode: integ

7、er; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 getmsgproc getmsgproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 callwndproc callwndproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; 窗口被激活、创建、销毁、最大化、最小化、移动、改变大小等动作前;完成一条系统命令前;从系统消息队列中移去一个鼠

8、标或键盘消息前;与系统消息同步前;被调用!cbtproc( ncode: integer; 要处理的消息类型, 见下表 wparam: wparam; 消息对应的参数, 见下表 lparam: lparam 消息对应的参数, 见下表): lresult; 返回值表示是否阻止某个事件的发生winapi: 钩子回调函数之 sysmsgfilterproc sysmsgfilterproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 mouseproc mouseproc( ncode: in

9、teger; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 hardwareproc hardwareproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 debugproc debugproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 shellproc shellproc( ncode: integer; wparam: wparam; lparam: lparam ): lresult; winapi: 钩子回调函数之 foregroundidleproc foregroundidleproc( ncode: integer; wparam: w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论