我正在用Java編寫一個應用程序,它在系統托盤中放置了一個圖標(通過SWT)。當點擊這個圖標時,我希望它自動地鍵入一些鍵(通過Robot類)到任何文本字段點擊時(可以在任何窗口中)。不幸的是,點擊系統托盤圖標會使焦點遠離以前聚焦的窗口,從而竊取按鍵。防止系統托盤圖標被點擊時偷竊焦點
有沒有辦法讓文本輸入到以前關注的窗口中?
我正在用Java編寫一個應用程序,它在系統托盤中放置了一個圖標(通過SWT)。當點擊這個圖標時,我希望它自動地鍵入一些鍵(通過Robot類)到任何文本字段點擊時(可以在任何窗口中)。不幸的是,點擊系統托盤圖標會使焦點遠離以前聚焦的窗口,從而竊取按鍵。防止系統托盤圖標被點擊時偷竊焦點
有沒有辦法讓文本輸入到以前關注的窗口中?
可能不是,至少不容易。 This issue been discussed before.
雖然它不能被認爲是一種正式的解決方案,我發現一些成功的發行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
組合不能依靠是一個普遍的聚焦變換命令。但是,這似乎是適合我的特殊情況的法案。