【问题标题】:Respond to key event when the application is out of focus(inactive)应用失焦时响应按键事件(非活动)
【发布时间】:2012-02-03 12:42:10
【问题描述】:

我想随时捕捉关键事件,即使我的应用程序不在焦点上。例如,当焦点在其他应用程序时,我的应用程序应该检测到Ctrl+SPACE 组合键,并且应该做出相应的响应。谢谢

【问题讨论】:

    标签: java events keyboard java-native-interface lost-focus


    【解决方案1】:

    这是特定于操作系统的,超出了 JVM 范围。

    这里有两个很好的开源 Java 库,可以实现你想要的:

    两者都是 JNI Wrappers。

    【讨论】:

    • 我很高兴能为您服务。 ;)
    • 很抱歉在这样一个古老的问题中发帖,但是是否有一种多平台语言可以让我开发一个程序,即使在不活动的情况下也可以检查密钥?
    • 使用 C/C++ 处理您的桌面环境/SO API 并拦截键绑定。由于 JNI,Java 也是一个不错的选择。 .NET 语言或许可以直接在 Windows 上完成。
    【解决方案2】:

    不可能用纯Java,当应用程序丢失Focus,然后Focus SubsystemNative OS管理,有一些方法可以取消JNI,注意Key ShoutCuts应该是Anti_Virus敏感

    【讨论】:

    • 哦!我差点忘了提,我正在使用 JNA 和 java,我可以使用 JNA 来做同样的事情吗?如果是这样,你能帮忙吗?我见过WordWeb 离线字典应用程序,它响应Ctrl+Alt+W 组合键。它不会对防病毒软件构成威胁。无论如何,威胁是微不足道的事情。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多