捕捉“全球热键” (Windows)
现在我一直在尝试创建与Push-To-Talk语音聊天应用程序类似的功能,但到目前为止我找不到任何合适的解决方案。我没有使用MFC或CLR。
问题很简单。我的窗口通常应该没有焦点(即最小化等),但我需要对按键作出反应(基本上,我甚至不想知道按钮是否被按下)。不幸的是,WM_KEYDOWN仅在窗口具有键盘焦点时才有效。我知道,例如Teamspeak使用DirectInput,但我也知道它绝对可以在没有它的情况下完成,我非常喜欢。
我可以使用的唯一其他解决方案是使用GetAsyncKeyState进行轮询,但看起来这也不是一个好的解决方案。如果可能的话,我仍然更喜欢使用Windows消息。
没有找到相关结果
已邀请:
2 个回复
课刊灭似
或全局低级键盘钩来解决。
(Cody Gray在评价中建议的)可能是更合适的选择。
蹄渭信妥扳
我设法阻止了Windows + E热键,但其他像Alt + F4和Home + Right没有被禁用,并会返回错误。 如果您不尝试覆盖系统热键,这对您来说应该不是问题。但是,如果您的某个热键无法注册,我建议您使用下面的代码来诊断您的代码。
^该行代码的完整上下文位于第一个链接中!