资源描述:
《钩子函数大全》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、钩子函数大全2010年04月22日星期四15:55SetWindowsHookEx函数功能:该函数将一个应用程序定义的挂钩处理过程安装到挂钩链中去,您可以通过安装挂钩处理过程来对系统的某些类型事件进行监控,这些事件与某个特定的线程或系统中的所有事件相关.函数原形:HHOOKSetWindowsHookEx(intidHook,HOOKPROClpfn,HINSTANCEhMod,DWORDdwThreadId);参数:idHook:指示欲被安装的挂钩处理过程之类型,此参数可以是以下值之一:WH_CALLWNDPROC(4):安装一个挂钩处理过程,在系统将消息发送至目标
2、窗口处理过程之前,对该消息进行监视,详情参见CallWndProc挂钩处理过程.WH_CALLWNDPROCRET(12):安装一个挂钩处理过程,它对已被目标窗口处理过程处理过了的消息进行监视,详情参见CallWndRetProc挂钩处理过程.WH_CBT(5):安装一个挂钩处理过程,接受对CBT应用程序有用的消息,详情参见CBTProc挂钩处理过程.WH_DEBUG(9):安装一个挂钩处理过程以便对其他挂钩处理过程进行调试,详情参见DebugProc挂钩处理过程.WH_FOREGROUNDIDLE(11):安装一个挂钩处理过程,该挂钩处理过程当应用程序的前台线程即将
3、进入空闲状态时被调用,它有助于在空闲时间内执行低优先级的任务.WH_GETMESSAGE(3):安装一个挂钩处理过程对寄送至消息队列的消息进行监视,详情参见GetMsgProc挂钩处理过程.WH_JOURNALPLAYBACK(1):安装一个挂钩处理过程,对此前由WH_JOURNALRECORD挂钩处理过程纪录的消息进行寄送.详情参见JournalPlaybackProc挂钩处理过程.WH_JOURNALRECORD(0):安装一个挂钩处理过程,对寄送至系统消息队列的输入消息进行纪录.详情参见JournalRecordProc挂钩处理过程.WH_KEYBOARD(2)
4、:安装一个挂钩处理过程对击键消息进行监视.详情参见KeyboardProc挂钩处理过程.WH_KEYBOARD_LL(13):此挂钩只能在WindowsNT中被安装,用来对底层的键盘输入事件进行监视.详情参见LowLevelKeyboardProc挂钩处理过程.WH_MOUSE(7):安装一个挂钩处理过程,对鼠标消息进行监视.详情参见MouseProc挂钩处理过程.WH_MOUSE_LL(14):此挂钩只能在WindowsNT中被安装,用来对底层的鼠标输入事件进行监视.详情参见LowLevelMouseProc挂钩处理过程.WH_MSGFILTER(-1):安装一个挂
5、钩处理过程,以监视由对话框、消息框、菜单条、或滚动条中的输入事件引发的消息.详情参见MessageProc挂钩处理过程.WH_SHELL(10):安装一个挂钩处理过程以接受对外壳应用程序有用的通知,详情参见ShellProc挂钩处理过程.WH_SYSMSGFILTER(6):安装一个挂钩处理过程,以监视由对话框、消息框、菜单条、或滚动条中的输入事件引发的消息.这个挂钩处理过程对系统中所有应用程序的这类消息都进行监视.详情参见SysMsgProc挂钩处理过程.lpfn:指向相应的挂钩处理过程.若参数dwThreadId为0或者指示了一个其他进程创建的线程之标识符,则参数
6、lpfn必须指向一个动态链接中的挂钩处理过程.否则,参数lpfn可以指向一个与当前进程相关的代码中定义的挂钩处理过程.hMod:指示了一个动态链接的句柄,该动态连接库包含了参数lpfn所指向的挂钩处理过程.若参数dwThreadId指示的线程由当前进程创建,并且相应的挂钩处理过程定义于当前进程相关的代码中,则参数hMod必须被设置为NULL(0).dwThreadId:指示了一个线程标识符,挂钩处理过程与线程相关.若此参数值为0,则该挂钩处理过程与所有现存的线程相关.返回值:若此函数执行成功,则返回值就是该挂钩处理过程的句柄;若此函数执行失败,则返回值为NULL(0)
7、.若想获得更多错误信息,请调用GetLasError函数.备注:若参数hMod为NULL,而参数dwThreadld为0或者指示了一个其他进程创建的线程标识符,则会产生错误.对函数CallNextHookEx进行调用以下链接下一个挂钩处理过程是可选的,但也是被推荐的否则,其他安装了此挂钩的应用程序将无法获得此挂钩通知,从而可能导致错误的行为.除非您确实希望防止其他应用程序看到此挂钩通知,您应当调用函数CallNextHookEx.在终止一个应用程序之前,必须调用函数UnhookWindowsHookEx以释放与此挂钩相关的系统资源.挂钩的作用域依赖与