2013-12-18 108 views
1

我有興趣編寫一個程序,該程序可以幫助我在線編寫考卷。我想用鍵盤來控制鼠標,例如,如果我按'1',那麼鼠標將被髮送到指定的位置,然後單擊它。這至少會使我的工作量增加一倍。問題在於標記是通過Internet Explorer完成的,所以Java程序將會失去焦點。從搜索這個網站,我發現有人編寫了一個庫,可以接收焦點以外的鍵盤輸入,但我找不到任何這樣的老鼠(我不認爲Java機器人的工作焦點)。當Java窗口不在焦點時控制鼠標

有誰知道這樣的程序在使用標準庫的Java中是否可行?

回答

1

問題當然是在Java不重點時捕獲按鍵。您有三種主要的選項,據我可以告訴:

  1. 寫自己的JNA或JNI代碼來註冊您的熱鍵,或
  2. 發現,這是否一個庫並調用其方法,或
  3. 使用與您的Java程序鏈接的AutoIt(如果是Windows)等腳本程序,例如使用連接兩個程序的標準輸入和輸出的套接字。

我已經成功地使用了第三個選項,但實際上對於我來說,在AutoIt中執行所有操作通常更簡單。


注意,這種說法是不正確的:

(我不認爲Java機器人的工作原理失焦)。

Java機器人並不要求GUI具有焦點,實際上並不需要運行GUI。