捕获键盘输入而不关注程序窗口

时间:2011-01-03 18:15:04

标签: c++ winapi input keyboard

我正在做一个VoIP客户端,我想在某个输入上启动/停止WM_KEYDOWN和WM_KEYUP消息,比如说K.当主窗口有焦点时,这是np,但是如何在窗口外启用它?例如,如果窗口不在焦点上,我只是在看桌面或者是视频游戏。如何执行这样的事情?我不知道从哪里开始。

另外 - 我猜你甚至不得不在程序之外对每个输入进行轮询,这是否很昂贵?

win32 c ++ btw

2 个答案:

答案 0 :(得分:2)

您需要安装键盘挂钩:http://msdn.microsoft.com/en-us/library/ms644990(v=VS.85).aspx

对于每个正在运行的应用程序,如果窃取其键盘消息,这可能会非常麻烦。

答案 1 :(得分:0)

我认为你不想要这个 - 如果我在Word中键入文档并且我点击K,当你的应用程序弹出而不是出现在我的文档中的“k”时,我会非常生气。

Windows允许您将快捷键分配给桌面上的图标,但它将它们限制为功能键或包含Alt和Ctrl的组合。右键单击桌面图标并转到“属性”,然后查找标记为“快捷键”的字段。