因此,我需要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/

10-10 06:46