所以我正在编写一个程序来计算我要按的特定键。计数工作正常,但我希望程序完全在后台运行(没有打开的窗口或任务栏中的标志)。
那么在Java中有一种方法可以在后台完全运行一个进程吗?我目前正在使用JFrame
来计算。
答案 0 :(得分:3)
你可以在这里使用JNativeHook打印每个键和按下的键数,你可以根据需要修改它: -
import org.jnativehook.GlobalScreen;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;
public class Main implements NativeKeyListener
{
public static void main(String[] args)
{
try
{
GlobalScreen.registerNativeHook();
}
catch(Exception e)
{
e.printStackTrace();
}
GlobalScreen.getInstance().addNativeKeyListener(new Main());
}
private int count;
@Override
public void nativeKeyPressed(NativeKeyEvent e)
{
System.out.println("Pressed " + NativeKeyEvent.getKeyText(e.getKeyCode()));
count++;
System.out.println(count);
}
@Override
public void nativeKeyReleased(NativeKeyEvent e)
{
}
@Override
public void nativeKeyTyped(NativeKeyEvent e)
{
}
}
如果您不知道如何导入JNativeHook库,那么How to install JNativeHook Library?