我正在尝试在我的项目中使用 jnativehook 库。我想获取一个简单的数据(例如鼠标单击:2)而不是 jnativehook 生成的长日志数据,例如:
2015 年 5 月 31 日晚上 9:39:04 org.jnativehook.GlobalScreen$NativeHookThread 启用
信息:process_button_pressed [339]:按钮 1 按下 2 次。 (293, 661)
2015 年 5 月 31 日晚上 9:39:04 org.jnativehook.GlobalScreen$NativeHookThread 启用
鼠标点击: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);
例如,将其添加到。您的主类构造删除(几乎)所有日志记录。
现在让我们自己检测事件并打印一些基本信息。
首先,您必须注册 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 和有关它的事件的文档。