我正在用Java编写一个应用程序,它在系统托盘中放置一个图标(通过SWT)。单击此图标时,我希望自动将某些键(通过Robot类)键入到单击时可以处于焦点的任何文本字段(可以在任何窗口中)。不幸的是,单击系统托盘图标会将焦点从先前聚焦的窗口中移开,从而窃取击键。
有没有办法让文字输入以前关注的窗口?
答案 0 :(得分:0)
可能不是,至少不容易。 This issue been discussed before.
答案 1 :(得分: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
组合不能成为普遍的焦点转换命令,这远非官方解决方案。但是,这似乎适合我的特殊情况。