使用HOOK 截获消息与Windows消息循环相似,编写一个hook程序首先需要安装钩子接受消息,然后通过钩子截获消息。
安装钩子可以使用SetWindowsHookEx函数
钩子的类型有具体查看MSDN.
lpfn 钩子过程,类似窗口过程函数
hmod 全局钩子需要指定参数
dwthreadid 线程钩子需要指定参数
注意:不同的钩子类型用不同的钩子过程,同时线程钩子和全局钩子不能同时指定。
全局钩子必须要“封装”在dll中
下面以使用全局钩子,获取键盘消息作为示例
1,在win32dll中编写如下代码
2,生成的dll文件和普通的dll文件使用是一样的大致步骤相同