失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > VC++钩子使用之全局键盘钩子

VC++钩子使用之全局键盘钩子

时间:2020-03-08 14:49:13

相关推荐

VC++钩子使用之全局键盘钩子

文章目录

钩子简介使用钩子生成KeyHook.dll加载KeyHook.dll 窗体接收两次按键消息的问题参考

如果想要在Win32窗体程序中实现按键捕获,可以覆写PreTranslateMessage函数,但是有一个缺点,就是此方法只有当程序窗口获取到焦点时才可以捕获到键盘,如果在其它程序窗口中按下按键,是捕获不到的,为了解决这个问题,就需要使用到钩子

钩子简介

挂钩是一种机制,应用程序可以通过它截获事件,例如消息、鼠标操作和击键。截获特定类型事件的函数称为挂钩过程。挂钩过程可以对它接收的每个事件执行操作,然后修改或放弃该事件。

钩子分为线程钩子(局部钩子)、系统钩子(全局钩子)

线程钩子监视指定线程的事件消息。

系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)中。这是系统钩子和线程钩子很大的不同之处。

钩子的类型

WH_CALLWNDPROC和WH_CALLWNDPROCRETWH_CBTWH_DEBUGWH_FOREGROUNDIDLEWH_GETMESSAGEWH_JOURNALPLAYBACKWH_JOURNALRECORDWH_KEYBOARD_LLWH_KEYBOARD

如果觉得《VC++钩子使用之全局键盘钩子》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。