当应用程序没有焦点时检测按键

时间:2011-08-23 17:53:41

标签: c++ qt

我有一个存在于托盘中的应用程序,我需要检测用户活动,以便我可以执行某些任务。对于Windows,我知道我可以使用GetAsyncKeyState或SetWindowsHookEx,但我希望有一个跨平台的解决方案。

有人有解决方案吗?也许是keyPressEvent的重新实现?或者更容易设置一些宏并单独进行?

1 个答案:

答案 0 :(得分:2)

这本质上是特定于平台的。

我确保隔离你做的任何事情,并分离捕获事件的机制,并记录按键消耗的消耗。这样你只需在每个平台上实现捕获/记录机制,所有其他代码都应该是非常便携的。

您可能想看看SDL在这里做了些什么。 http://www.libsdl.org/

他们设法抽象出所有这些东西,而不仅仅是键盘。