JNativeHook如何防止打印所发生的一切?

时间:2014-10-25 17:33:41

标签: java

所以我需要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());

2 个答案:

答案 0 :(得分:12)

来自JNativeHook github上的用法维基。

  

//清除以前的日志记录配置   LogManager.getLogManager()复位();点。

  //获取" org.jnativehook"的记录器并将关卡设置为关闭   Logger logger = Logger.getLogger(GlobalScreen.class.getPackage()。getName());
  logger.setLevel(Level.OFF);

例如,将这些代码行添加到主对象的构造函数中会使几乎所有日志记录都显示在控制台中。但是,这仅适用于JNativeHook版本1.2(最新版本)。

还可以选择仅显示警告和错误。

答案 1 :(得分:4)

...阅读documentation。 JNativeHook使用java.util.logging进行控制台输出。请注意,您无法通过设计器通过记录器禁用版权。

相关问题