2009-06-24 93 views
1

我正在用Java編寫一個應用程序,它在系統托盤中放置了一個圖標(通過SWT)。當點擊這個圖標時,我希望它自動地鍵入一些鍵(通過Robot類)到任何文本字段點擊時(可以在任何窗口中)。不幸的是,點擊系統托盤圖標會使焦點遠離以前聚焦的窗口,從而竊取按鍵。防止系統托盤圖標被點擊時偷竊焦點

有沒有辦法讓文本輸入到以前關注的窗口中?

回答

0

雖然它不能被認爲是一種正式的解決方案,我發現一些成功的發行ALT+TAB擊鍵之前發出的文字擊鍵。

Robot robot = new Robot(); 

robot.keyPress(KeyEvent.VK_ALT); 
robot.keyPress(KeyEvent.VK_TAB); 
robot.keyRelease(KeyEvent.VK_ALT); 
robot.keyRelease(KeyEvent.VK_TAB); 

// ... The keyPress/keyRelease pairs for the actual characters now begin 

就像我說的,這是遠不是一個官方的解決辦法,考慮到ALT+TAB組合不能依靠是一個普遍的聚焦變換命令。但是,這似乎是適合我的特殊情況的法案。