Closed. This question needs details or clarity。它当前不接受答案。












想要改善这个问题吗?添加详细信息,并通过editing this post来解决问题。

5年前关闭。



Improve this question




我试图在我的项目中使用jnativehook库。我想获取一个简单的数据(例如,鼠标单击次数:2),而不是长时间记录生成jnativehook的数据,例如:

2015年5月31日9:39:04 PM org.jnativehook.GlobalScreen $ NativeHookThread enable
信息:process_button_pressed [339]:按钮1被按下2次。 (293,661)

2015年5月31日9:39:04 PM org.jnativehook.GlobalScreen $ NativeHookThread enable

鼠标单击数:2

信息:process_button_released [361]:按钮1释放2次。 (293,661)

最佳答案

如果要从JNativeHook删除该日志垃圾邮件,请执行以下操作:

// Clear previous logging configurations.
LogManager.getLogManager().reset();

// Get the logger for "org.jnativehook" and set the level to off.
Logger logger = Logger.getLogger(GlobalScreen.class.getPackage().getName());
logger.setLevel(Level.OFF);

例如,将其添加到。您的主类构造带有remove(几乎)所有日志记录。
现在,让我们自己检测事件并打印一些基本信息。

首先,您必须注册NativeHook:
 GlobalScreen.registerNativeHook();

然后将一些监听器绑定(bind)到它,例如:
 GlobalScreen.getInstance().addNativeKeyListener(new YourMainClass());

然后像这样重写JNativeHook事件方法:
@Override
    public void nativeKeyPressed(NativeKeyEvent e) {
System.out.Println(((char) e.getKeyCode()) + " was pressed.")
}

checkout :JNativeHook GitHub,您将找到一些示例代码(例如Global Mouse Listener和有关其事件的文档。

09-11 10:27