JNativeHook来自同一动作的多个响应(鼠标单击,键盘类型和鼠标滚动)

问题描述:

我正在使用JNativeHook检索有关用户活动的信息,但我遇到了一个问题,我将从一个单一的行动,但并不一致。它在1,2或3个响应之间变化,但从不超过3个,我将不得不运行并退出程序多次以获得不同的结果。在我发现问题再次发生之前,似乎可以工作一整天。JNativeHook来自同一动作的多个响应(鼠标单击,键盘类型和鼠标滚动)

我也有问题,我必须重新启动我的电脑,以获得某种行动的回应。

一个例子从程序打印出:

鼠标按下:1
鼠标按下:1
鼠标按下:1
鼠标发行日期:1
鼠标单击:3
鼠标发行日期:1
鼠标单击:3
鼠标发行日期:1
鼠标单击:3

我使用了3个类,每个类有一个:鼠标监听器,键盘监听器和鼠标滚轮监听器。我创建了一个线程,让它们同时运行。

有迹象表明,与有问题的代码处理4个主要类别:

  1. Class that contains the threads
  2. Keyboard listener
  3. Mouse Listener
  4. Mouse Wheel Listener.

(有很多的代码我正在发帖,这使得帖子几乎不可读希望它可以这样做吗?)

我是新来使用JNativeHook,我不知道它是否可能创建同一个全局侦听器或并发问题的多个对象。

+0

如果您仍然遇到同样的问题,请报告错误。有几个线程安全问题可能导致了1.2中已解决的行为。 – 2014-07-01 00:22:46

“全球本地化GlobalScreen.registerHook方法在多个类文件,其意味着多个钩子分别是寄存器以及使得所述错误行为执行。

对于未来的读者,如果您发现任何与JnativeHook有关的错误报告在there,那么SOF有任何相关的事情。

UPDATE现在起2016的lib移动到Github