2013-02-09 50 views
0

我正在使用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

回答

0

「全球本地化GlobalScreen.registerHook方法在多個類文件,其意味着多個鉤子分別是寄存器以及使得所述錯誤行爲執行。

2

對於未來的讀者,如果您發現任何與JnativeHook有關的錯誤報告在there,那麼SOF有任何相關的事情。

UPDATE現在起2016的lib移動到Github