gpt4 book ai didi

java - 如何在窗口中的任何位置找到关键监听器

转载 作者:可可西里 更新时间:2023-11-01 13:29:44 26 4
gpt4 key购买 nike

我开发了一个 Java 桌面应用程序来监视用户的工作。现在我想计算系统中任意位置的按键次数和鼠标点击次数。

这意味着每当我的应用程序正在运行并且用户在浏览器中输入内容或打开任何文件夹时,鼠标点击和按键计数都会增加。

我可以使用下面的代码吗

 KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher()

如果是,那怎么可能呢?如果我不能使用它,请快速告诉我它是如何实现的。我是java初学者

最佳答案

我认为这个例子对你有很大的帮助这是钩子(Hook)系统调用全局键盘监听器的例子

    import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;

public class GlobalKeyListenerExample implements NativeKeyListener {
public void nativeKeyPressed(NativeKeyEvent e) {
System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));

if (e.getKeyCode() == NativeKeyEvent.VK_ESCAPE) {
GlobalScreen.unregisterNativeHook();
}
}

public void nativeKeyReleased(NativeKeyEvent e) {
System.out.println("Key Released: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
}

public void nativeKeyTyped(NativeKeyEvent e) {
System.out.println("Key Typed: " + e.getKeyText(e.getKeyCode()));
}

public static void main(String[] args) {
try {
GlobalScreen.registerNativeHook();
}
catch (NativeHookException ex) {
System.err.println("There was a problem registering the native hook.");
System.err.println(ex.getMessage());

System.exit(1);
}

//Construct the example object and initialze native hook.
GlobalScreen.getInstance().addNativeKeyListener(new GlobalKeyListenerExample());
}
}

关于java - 如何在窗口中的任何位置找到关键监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22955770/

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