SwingEventMonitorを使用して他のアプリケーションを監視しますか?

SwingEventMonitorを使用して、他のJVMで実行されているアプリケーションでマウスイベントを監視するにはどうすればよいですか?

私が持っているデモ・コードは、それ自身のJVM内で実行されているアプリケーションでマウス・クリックを監視できますが、別々に起動されたアプリケーションやjnlp経由では無視されます。

どのように起動したか(デスクトップまたはjnlp)に関係なく、すべてのアプリケーションでJavaがSwingEventMonitorアプリケーションをロードするようにするにはどうすればよいですか?

6
Java VisualVM、含まれている jvisualvm おそらくJDKを使っているかもしれません。
追加された 著者 trashgod,
この投稿をご覧ください、いくつかのポインタがあります
追加された 著者 aymeric,
便利なデバッグ支援機能ですが、エンドユーザーのマシンで実行できるものではありません。私たちはすでにそれを調べていましたが、提案に感謝します。
追加された 著者 DFriend,

1 答え

モニターを実行し、 sever = ServerSocket(MONITOR_PORT)を作成します。次に、着信接続を待ち受けます。

while (true) {
    Socket socket = server.accept();
    connectionCount++;
   //start a new monitor thread for this connection
}

注意:SwingEventMonitorはJDK1.7には含まれていません。独自のEventQueueをプッシュしたいかもしれません。 SwingEventMonitorには何が起こったのですか?を参照してください。

1
追加された