概述
文章目录
- 钩子简介
- 使用钩子
-
- 生成KeyHook.dll
- 加载KeyHook.dll
- 窗体接收两次按键消息的问题
- 参考
如果想要在Win32窗体程序中实现按键捕获,可以覆写PreTranslateMessage函数,但是有一个缺点,就是此方法只有当程序窗口获取到焦点时才可以捕获到键盘,如果在其它程序窗口中按下按键,是捕获不到的,为了解决这个问题,就需要使用到钩子
钩子简介
挂钩是一种机制,应用程序可以通过它截获事件,例如消息、鼠标操作和击键。截获特定类型事件的函数称为挂钩过程。挂钩过程可以对它接收的每个事件执行操作,然后修改或放弃该事件。
钩子分为线程钩子(局部钩子)、系统钩子(全局钩子)
线程钩子监视指定线程的事件消息。
系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)中。这是系统钩子和线程钩子很大的不同之处。
钩子的类型
WH_CALLWNDPROC和WH_CALLWNDPROCRET
WH_CBT
WH_DEBUG
WH_FOREGROUNDIDLE
WH_GETMESSAGE
WH_JOURNALPLAYBACK
WH_JOURNALRECORD
WH_KEYBOARD_LL
WH_KEY
最后
以上就是朴素日记本为你收集整理的VC++钩子使用之全局键盘钩子钩子简介的全部内容,希望文章能够帮你解决VC++钩子使用之全局键盘钩子钩子简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复