当应用程序没有焦点时检测按键
Detecting keypresses when application has no focus
我有一个位于托盘中的应用程序,我需要检测用户活动,以便我可以执行某些任务。对于windows,我知道我可以使用GetAsyncKeyState或SetWindowsHookEx,但我想有一个跨平台的解决方案。
有人有解决这个问题的办法吗?也许是keyPressEvent的重新实现?或者仅仅设置一些宏并单独执行会更容易吗?
这是平台特有的。
我将确保隔离您所做的任何事情,并将捕获事件和记录击键的机制与这些击键的消耗分开。这样,你只需要在每个平台上实现捕获/记录机制,所有其他代码都应该是非常可移植的。
您可能想看看SDL在这里做了什么。http://www.libsdl.org/
他们已经成功地抽象出了所有这些东西,而不仅仅是键盘。
相关文章:
- 使用CMake检测支持的C++标准
- 当套接字连接断开时检测C/C++Unix
- C/C++预处理器是否可以检测一些编译器选项
- WMI检测进程创建事件-c++
- 基于树莓pi的tensorflow lite量化ssd目标检测
- 下面是我为检测链接列表中的循环而制作的代码
- 落砂模拟碰撞检测C++和SFML
- 我可以检测和更改 gcc/g++ 中结构的当前数据对齐设置吗?
- 为什么C++编译器没有检测到正确声明的类?
- 检测win32服务创建和删除的最佳方法
- 即使另一个应用具有焦点,检测F1密钥的按键(和覆盖)键
- C++如何检测您的应用程序正在运行的虚拟机已成为焦点
- 失去焦点时,应用程序无法检测到语言更改
- 如何检测焦点窗口是否为编辑"类型"控件?
- 检测编辑控件焦点并插入字符
- 检测QWidget何时失去焦点的可靠方法
- Qt:检测鼠标是否在某些部件上,即使该部件没有焦点
- 当应用程序没有焦点时检测按键
- 如何检测是否按下CTRL键时,子窗口ie.Richedit是焦点
- 如何检测我的应用程序在Qt中失去焦点