首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WH_KEYBOARD与WH_KEYBOARD_LL的差异?

WH_KEYBOARD与WH_KEYBOARD_LL的差异?
EN

Stack Overflow用户
提问于 2012-05-23 10:23:59
回答 1查看 14.4K关注 0票数 22

两个人的工作有什么区别?对于WH_KEYBOARD_LL,它安装一个钩子过程来监视低级别键盘输入事件的我读过 .低级别键盘事件是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-23 11:37:50

嗯,别把太多的注意力放在这个词上,它不能澄清任何事情。两者之间有很大的区别。WH_KEYBOARD_LL安装一个钩子,需要在自己的程序中实现回调。您必须泵出一个消息循环,以便Windows可以在任何时候发出键盘消息时进行回调。这样就很容易开始了。

WH_KEYBOARD的工作方式非常不同,它需要一个可以安全地注入到挂钩进程中的DLL。这使得它难以启动,在不影响进程的情况下注入DLL并不容易。尤其是在64位操作系统上。如果其他进程需要知道击键的情况,也不需要处理进程间的通信。就像一个钥匙记录器。

WH_KEYBOARD的优点是它可以访问键盘状态。它是Windows中的每个进程属性。当您想要使用钩子将虚拟键转换为自己键入键时,状态(如活动键盘布局)以及修饰符和死键的状态非常重要。您无法从外部进程可靠地调用ToUnicodeEx()。

你不可能在没有运行示例代码的情况下摆弄一只猫,谷歌会给你很多。所以,一定要使用一些已知的工作,如果你从来没有写过这样的钩子,它将避免许多悲痛。

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10718009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档