pro*_*eve 19 c c++ hook winapi wh-keyboard-ll
两个人的工作有什么区别?因为WH_KEYBOARD_LL 我读到它安装了一个监视低级键盘输入事件的钩子程序.低级键盘事件是什么意思?
Han*_*ant 30
嗯,不要过分关注这个词,它没有澄清任何事情.这两者之间存在巨大差异.WH_KEYBOARD_LL安装一个钩子,需要在您自己的程序中实现回调.并且您必须提供一个消息循环,以便Windows可以在发送键盘消息时进行回调.这使得它很容易上手.
WH_KEYBOARD的工作方式非常不同,它需要一个可以安全地注入到钩子进程中的DLL.这让人难以理解,在不影响进程的情况下注入DLL并不容易.特别是在64位操作系统上.如果其他一些过程需要了解击键,也不需要处理您可能需要的进程间通信.像一个键盘记录器.
WH_KEYBOARD的优点是它可以访问键盘状态.这是Windows中的每进程属性.当您想要使用钩子将虚拟键转换为自己键入键时,状态如活动键盘布局以及修饰符和死键的状态非常重要.您无法从外部进程可靠地调用ToUnicodeEx().
你不能在没有遇到示例代码的情况下摆动猫,谷歌会给你足够的.因此,如果你之前从未写过这样的钩子,那么一定要使用已知的工作,这样可以避免很多悲伤.