如何使用全局键盘钩子发送按键?

4
我试图向一个不响应我所使用的任何API(SendInput()、PostMessage()、SendMessage()等)的应用程序发送键值。但是,我测试了Windows的屏幕键盘实用程序并按下所需的键,应用程序轻松地接收到这些键。
如果我理解正确,键盘实用程序使用全局键盘钩子发送键,因此我很想知道如何做到这一点。我已经尝试在Google上找到如何实现这个目标的例子,但没有结果。
谢谢。
2个回答

2
钩子被用来拦截事件,而不是发送新的事件。因此,你所要求的在钩子中实现是不可能的。SendInput 是可行的方法。也许你做错了什么,如果你发布你的代码并调试出错的地方会更好。

2
我解决了。我正在向一个DirectX应用程序发送键值。结果我必须发送DirectX扫描码而不是常规的VK_KEY。
扫描码列表可以在http://www.gamespp.com/directx/directInputKeyboardScanCodes.html找到。
使用这些扫描码和SendInput(),一切都很好地运行。
感谢您的帮助。
干杯。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接