1

我正在用 Java 编写一个应用程序,它在系统托盘中放置一个图标(通过SWT)。单击此图标时,我希望让它自动键入一些键(通过Robot类)到单击时处于焦点的任何文本字段中(可以在任何窗口中)。不幸的是,单击系统托盘图标会将焦点从先前聚焦的窗口中移开,从而窃取击键。

有没有办法让文本输入到先前聚焦的窗口中?

4

2 回答 2

0

可能不会,至少不容易。 这个问题之前讨论过。

于 2009-06-25T00:34:09.620 回答
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不能依赖这个组合作为一个通用的焦点转换命令。但是,它似乎适合我的特殊情况。

于 2009-06-25T11:00:45.780 回答