This article describes hooks and their use in the Microsoft® Win32® application programming interface (API). It discusses hook functions, filter functions(过滤函数?钩子函数?), and the following types of hooks:
WH_CALLWNDPROC //在SENDMESSAGE函数被调用时. WH_CBT //一个基于计算机的钩子调用,发生在激活、创建、关闭、最小化、最大化、搬移、或者改变一个窗口的大小之前, 在完成一个系统命令、清除一个鼠标或键盘事件、设置焦点,以及在同步系统消息队列之前,等等。 WH_DEBUG //在任何其他过滤钩子被调用之前调用. WH_FOREGROUNDIDLE //??? WH_GETMESSAGE //在GetMessage函数已经搜索到一个来自应用队列的消息时调用. WH_JOURNALPLAYBACK //用于将键盘和鼠标消息插入到系统消息队列中. WH_JOURNALRECORD //发生在当系统从系统消息队列中清除消息时. WH_KEYBOARD // 是一个键盘过滤器, 当从应用程序从消息队列中读消息 或有 M_KEYDOWN 或 WM_KEYUP 按键消息要处理时. WH_MOUSE //发生在应用调用了GetMessage或PeekMessage函数,且有一个鼠标消息等待处理. WH_MSGFILTER //是一个应用范围的钩子, 发生在一个对话框/消息框/菜单已接收了一个消息之后, 但在该消息真正被处理之前. WH_SHELL //被外壳应用程序用来从系统接收通知消息. WH_SYSMSGFILTER //是一个系统范围的钩子, 发生在一个对话框/消息框/菜单已接收了一个消息之后, 但在该消息真正被处理之前. // WH_HARDWARE ??? // 发生在当应用调用了GetMessage 或PeekMessage函数, 且有一个非标准的硬件消息(不是鼠标和键盘事件)时.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/whyacinth/archive/2007/12/17/1943922.aspx
|