我正在尝试在我的project.i中使用jnativehook库。我想获得一个简单的数据(例如Mouse Clicked:2)而不是jnativehook生成的长记录数据:
2015年5月31日下午9:39:04 org.jnativehook.GlobalScreen $ NativeHookThread启用 INFO:process_button_pressed [339]:按下按钮1 2次。 (293,661)
2015年5月31日下午9:39:04 org.jnativehook.GlobalScreen $ NativeHookThread enable
鼠标点击:2
INFO:process_button_released [361]:按钮1释放2次。 (293,661)
答案 0 :(得分:4)
如果要从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);
例如,将其添加到。你的主类构造删除(几乎)所有日志记录。 现在让我们自己检测事件并打印一些基本信息。
首先,您必须注册NativeHook:
GlobalScreen.registerNativeHook();
然后绑定一些监听器,例如:
GlobalScreen.getInstance().addNativeKeyListener(new YourMainClass());
然后覆盖这样的JNativeHook事件方法:
@Override
public void nativeKeyPressed(NativeKeyEvent e) {
System.out.Println(((char) e.getKeyCode()) + " was pressed.")
}
查看:JNativeHook GitHub,您会找到一些示例代码(例如 Global Mouse Listener以及有关此事件的文档。