クリックしたときにシステムトレイアイコンがフォーカスを奪うのを防ぐ

StackOverflow https://stackoverflow.com/questions/1041532

  •  22-07-2019
  •  | 
  •  

質問

システムトレイにアイコンを配置するアプリケーションをJavaで記述しています( SWT を使用して)。このアイコンをクリックすると、自動的にいくつかのキーを入力したい(ロボットクラス)をクリックして、クリック時にフォーカスされているテキストフィールドに移動します(どのウィンドウでも可能です)。残念ながら、システムトレイアイコンをクリックすると、以前フォーカスされていたウィンドウからフォーカスが奪われ、キーストロークが盗まれます。

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

役に立ちましたか?

解決

おそらく、少なくとも簡単ではないでしょう。 この問題は以前に議論されました。

他のヒント

公式の解決策とは言えませんが、テキストキーストロークを発行する直前に 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 の組み合わせは普遍的なフォーカス移行コマンドに依存することはできないことを考えると、これは公式のソリューションではありません。ただし、特定の状況に合わせて法案を調整しているようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top