<b>WINDOWS键盘事件的挂钩监控原理及其利用技术</b>[VC/C++编程]
本文“<b>WINDOWS键盘事件的挂钩监控原理及其利用技术</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
WINDOW的消息处理机制为了能在利用程序中监控系统的各种事件消息,供应了挂接各种反调函数(HOOK)的功效.这种挂钩函数(HOOK)近似扩大中止驱动程序,挂钩上可以挂接多个反调函数构成一个挂接函数链.系统产生的各种消息首先被送到各种挂接函数,挂接函数按照各自的功效抵消息举行监督、改正和掌握等,然后交还掌握权或将消息传送给下一个挂接函数乃至终究到达窗口函数.WINDOW系统的这种反调函数挂接办法固然会略加影响到系统的运行效率,但在很多场所下是非常有效的,通过公道有效地操纵键盘事件的挂钩函数监控机制可以到达预想不到的杰出效果.
1、在WINDOWS键盘事件上挂接监控函数的办法
WINDOW下可举行挂接的过滤函数包含11种:
WH_CALLWNDPROC 窗口函数的过滤函数
WH_CBT 计算机培训过滤函数
WH_DEBUG 调试过滤函数
WH_GETMESSAGE 获得消息过滤函数
WH_HARDWARE 硬件消息过滤函数
WH_JOURNALPLAYBACK 消息重放过滤函数
WH_JOURNALRECORD 消息记录过滤函数
WH_MOUSE 鼠标过滤函数
WH_MSGFILTER 消息过滤函数
WH_SYSMSGFILTER 系统消息过滤函数
WH_KEYBOARD 键盘过滤函数
此中键盘过滤函数是最常用最有效的过滤函数范例,不管是哪一种范例的过滤函数,其挂接的基本办法都是相同的.
WINDOW调用挂接的反调函数时老是先调用挂接链首的那个函数,因此必须将键盘挂钩函数操纵函数SetWindowsHookEx()将其挂接在函数链首.至于消息能否传送给函数链的下一个函数是由每个具体函数功效肯定的,假如消息需求传统给下一个函数,可调用API函数的CallNextHookEx()来实现,假如不传送直接返回便可.挂接函数可以是用来监控全部线程消息的全局性函数,也可以是单独监控某一线程的部分性函数.假如挂接函数是部分函数,可以将它放到一个.DLL动态链接库中,也可以放在一个部分模块中;假如挂接函数是全局的,那么必须将其放在一个.DLL动态链接库中.挂接函数必须严峻按照下述格局举行声明,以键盘挂钩函数为例:
以上是“<b>WINDOWS键盘事件的挂钩监控原理及其利用技术</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |