文章目录
钩子简介使用钩子生成KeyHook.dll加载KeyHook.dll 窗体接收两次按键消息的问题参考如果想要在Win32窗体程序中实现按键捕获,可以覆写PreTranslateMessage函数,但是有一个缺点,就是此方法只有当程序窗口获取到焦点时才可以捕获到键盘,如果在其它程序窗口中按下按键,是捕获不到的,为了解决这个问题,就需要使用到钩子
钩子简介
挂钩是一种机制,应用程序可以通过它截获事件,例如消息、鼠标操作和击键。截获特定类型事件的函数称为挂钩过程。挂钩过程可以对它接收的每个事件执行操作,然后修改或放弃该事件。
钩子分为线程钩子(局部钩子)、系统钩子(全局钩子)
线程钩子监视指定线程的事件消息。
系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)中。这是系统钩子和线程钩子很大的不同之处。
钩子的类型
WH_CALLWNDPROC和WH_CALLWNDPROCRETWH_CBTWH_DEBUGWH_FOREGROUNDIDLEWH_GETMESSAGEWH_JOURNALPLAYBACKWH_JOURNALRECORDWH_KEYBOARD_LLWH_KEYBOARD
如果觉得《VC++钩子使用之全局键盘钩子》对你有帮助,请点赞、收藏,并留下你的观点哦!