因此,我需要jnativehook来检测何时将复制/粘贴执行为复制/粘贴备份应用程序,并且由于这是一个控制台应用程序,所以我不希望它被光标位置和按键击发,我只需要将它放在那里就可以了。并聆听复制/粘贴。但是相反,这正在发生
Oct 25, 2014 10:21:54 AM org.jnativehook
INFO: hook_event_proc [405]: Mouse moved to 3468, 829.
Oct 25, 2014 10:21:54 AM org.jnativehook
INFO: hook_event_proc [405]: Mouse moved to 3468, 828.
Oct 25, 2014 10:21:54 AM org.jnativehook
INFO: hook_event_proc [405]: Mouse moved to 3467, 827.
Oct 25, 2014 10:21:54 AM org.jnativehook
INFO: hook_event_proc [405]: Mouse moved to 3467, 826.
Oct 25, 2014 10:21:54 AM org.jnativehook
INFO: hook_event_proc [405]: Mouse moved to 3467, 825.
Oct 25, 2014 10:21:55 AM org.jnativehook
INFO: hook_get_multi_click_time [218]: XtGetMultiClickTime: 200.
Oct 25, 2014 10:21:55 AM org.jnativehook
INFO: hook_event_proc [290]: Button 1 pressed 1 time(s). (3467, 825)
Oct 25, 2014 10:21:55 AM org.jnativehook
INFO: hook_event_proc [358]: Button 1 released 1 time(s). (3467, 825)
Oct 25, 2014 10:21:55 AM org.jnativehook
INFO: hook_event_proc [372]: Button 1 clicked 1 time(s). (3467, 825)
有没有办法将其关闭?我有基本的Native Hook注册和错误捕获以及三个空监听事件。
try {
GlobalScreen.registerNativeHook();
} catch (NativeHookException n) {
System.err.println("JNativeHook could not be registered");
System.err.println(n.getMessage());
System.exit(1);
}
GlobalScreen.getInstance().addNativeKeyListener(new Main());
最佳答案
来自JNativeHook github上的用法Wiki。
// 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);
例如,将这些代码行添加到主对象的构造函数中,将使几乎所有日志记录都不会显示在控制台中。但是,这仅适用于JNativeHook 1.2版(最新)。
还有一个选项也只显示警告和错误。
关于java - JNativeHook如何避免打印所有发生的事情?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26565236/