您的位置首页生活快答

windows编程里钩子的作用以及基本概念是什么?

windows编程里钩子的作用以及基本概念是什么?

的有关信息介绍如下:

windows编程里钩子的作用以及基本概念是什么?

SetWindowsHookEx 函数是用来安装钩子的。

Windows 钩子主要是指消息钩子,这可以让开发人员在默认的Windows 的消息处理链条上增加一个自定义环节。Windows消息会传导到开发者自定义的消息处理函数上根据自定义一逻辑决定消息继续传导还是换个消息还是销毁这个消息。

比如你要开发一款在Windows平台上运行的在线考试系统。为了公平和保密的目的,你肯定不希望应试者可以随意打开浏览器查询百度或者按动Print Screen 键对题目截屏。怎么防止呢?安装键盘钩子和鼠标钩子就是重要手段。当WM_KEYDOWN 或者 WM_KEYUP 消息发生的时候,钩子函数可以根据按键对应的key code 判断按下了哪个键,如果是Print Screen 或者CTRL+ R 一类的,那就把消息抛弃掉不再进行处理了。这样Windows 的默认消息处理链条将不再继续处理这类特殊的按键和按键组合,自然也就不会去执行弹出运行对话框和截屏的操作。

木马程序也是也要钩取用户键盘消息的。

钩子分为系统钩子和线程钩子两级,针对某个线程的钩子拥有较高优先级,先调用线程钩子然后是系统钩子。