1

システムトレイにアイコンを配置するアプリケーションを Java で作成しています ( SWT経由)。このアイコンをクリックすると、クリック時にフォーカスされているテキスト フィールド (任意のウィンドウにある可能性があります) に ( Robotクラスを介して) いくつかのキーが自動的に入力されるようにしたいと考えています。残念ながら、システム トレイ アイコンをクリックすると、以前にフォーカスされていたウィンドウからフォーカスが奪われ、キー ストロークが奪われてしまいます。

以前にフォーカスされたウィンドウにテキストを入力する方法はありますか?

4

2 に答える 2

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 に答える