1

この質問からJava Swingでは、ウィンドウへのWin32ウィンドウハンドル(hwnd)参照をどのように取得しますか? window32 ハンドルを取得できるようです。java.awt.Robot がマウス/キーボード イベントをそのウィンドウ ハンドルに送信することは可能でしょうか?

ロボット経由でキーを送信しているときに、ウィンドウが最小化されると、開いている他のバックグラウンドの無関係なウィンドウに入力を開始することがあります。ロボットがキーとマウスイベントを対象の特定のウィンドウに送信できるようにすることで、これを防止したいと考えています。

Mac と Linux で同じ取引を達成することは可能でしょうか? それぞれの特定のウィンドウ ハンドルにロボット イベントを送信できますか?

4

1 に答える 1

0

これはロボットの典型的な問題です。他のスレッドで引用しているように、純粋なAWT/Swingでは不可能です。Sunの内部APIにアクセスするか、ネイティブコードを使用する必要があります。その問題を回避することはありません。

それはまさにあなたが抱えている問題のためです。つまり、OS全体で機能させるのは、Javaがそのようなコントロールを公開していない理由です。

これを何に使用しているのかを知っておくと便利です。

于 2011-11-26T07:16:11.740 に答える