c++ WH_KEYBOARD和WH_KEYBOARD_LL之间的区别?

两个工作有什么区别?对于WH_KEYBOARD_LL i read,它安装一个监视低级键盘输入事件的挂接过程.低级键盘事件是什么意思?
嗯,不要太多关注这个术语,它没有澄清任何东西.两者之间有很大的区别. WH_KEYBOARD_LL安装一个钩子,需要在您自己的程序中实现回调.并且您必须抽取一个消息循环,以便Windows可以在即将发送键盘消息时进行回调.这使得它真的很容易去.

WH_KEYBOARD的工作方式非常不同,它需要一个可以安全地注入挂钩进程的DLL.这使得它非常难以进行,注入DLL而不影响进程并不容易.特别是在64位操作系统上.如果一些其他过程需要了解关键字,也不会关心您可能需要的进程间通信.像一个关键的记录器.

WH_KEYBOARD的优点是它可以访问键盘状态.哪个是Windows中的每个进程属性.状态像主动键盘布局,修改器和死键的状态很重要,当你想使用钩子将虚拟键自己翻译成键入键.您无法从外部进程可靠地调用ToUnicodeEx().

你不能摆动一只猫没有运行示例代码,谷歌会给你很多.所以如果你以前从来没有写过这样的钩子,那么一定要使用一些已知的工作,这样可以避免很多的悲伤.

http://stackoverflow.com/questions/10718009/difference-between-wh-keyboard-and-wh-keyboard-ll

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c++ WH_KEYBOARD和WH_KEYBOARD_LL之间的区别?