gpt4 book ai didi

java - 如何在java中捕获全局按键

转载 作者:行者123 更新时间:2023-12-01 21:10:38 25 4
gpt4 key购买 nike

我用 Java 制作了一个简单的媒体播放器,但我想记录全局按键,例如 Ctrl + P 来暂停/恢复当前播放在 JFrame 没有焦点的情况下播放音乐,但由于 JVM 安全问题,这似乎是不可能的。

我遇到了JNativeHook但我只想为 Windows 实现我自己的方法。请建议如何做以及从哪里开始?

最佳答案

尝试 JNativeHook 。下面是一个示例,展示了如何使用它来捕获全局按键:

try
{
GlobalScreen.registerNativeHook();
GlobalScreen.addNativeKeyListener(new NativeKeyListener()
{

@Override
public void nativeKeyTyped(NativeKeyEvent nativeEvent)
{
}

@Override
public void nativeKeyReleased(NativeKeyEvent nativeEvent)
{
String keyText=NativeKeyEvent.getKeyText(nativeEvent.getKeyCode());
System.out.println("User typed: "+keyText);
}

@Override
public void nativeKeyPressed(NativeKeyEvent nativeEvent)
{
}
});
}
catch (NativeHookException e)
{
e.printStackTrace();
}

如果您使用 maven,请将其添加到您的 pom.xml 中:

<dependency>
<groupId>com.1stleg</groupId>
<artifactId>jnativehook</artifactId>
<version>2.1.0</version>
</dependency>

关于java - 如何在java中捕获全局按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58902945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com