寻找类似于GetAsyncKeyState或GetCursorPos的函数

时间:2011-08-20 21:27:34

标签: c++ visual-studio-2010 winapi visual-c++

我想获得一个按键信号,而不使用像getasynckeystate这样的钩子或键盘监控功能,这似乎有点过分解决了我的问题。我需要一个可以全局工作的功能(在其创建的窗口之外),比如GetCursorPos,但是按键(按下PageUp键)可以触发一些自定义事件。感谢您提供任何指导。

1 个答案:

答案 0 :(得分:0)

我相信DirectInput可以做到这一点。很久以前,我的产品团队有一个语音通信应用程序,无论其他应用程序是否在前台,我们的应用程序都可以捕获“按键通话”键。

如果内存服务器我正确,我们使用DirectInput与专用线程侦听DInput来发信号通知我们的HEVENT句柄。当偶数线程醒来时,它会询问直接输入按下了什么键。如果是我们的热键,我们取消静音麦克风(并在上升事件中将其静音)。

大多数DirectInput文档都已从MSDN中删除。 (由XInput替换)。我不知道xinput是否可以完成同样的事情。但是,如果你能找到一个传统的DirectX SDK软件包(比如DirectX 8 SDK),那么所包含的文档应该包含DirectInput所需的一切。

相关问题