SwingEventMonitor gebruiken om andere applicaties te monitoren?

Hoe gebruik ik SwingEventMonitor om muisgebeurtenissen te volgen in toepassingen die in andere JVM's worden uitgevoerd?

De demo-code die ik heb, kan muisklikken in toepassingen binnen zijn eigen JVM volgen, maar applicaties die afzonderlijk worden gestart of via jnlp worden genegeerd.

Hoe zorg ik ervoor dat Java mijn SwingEventMonitor-app bij elke toepassing laadt, ongeacht hoe deze is gestart (desktop of jnlp)

6
Java VisualVM, jvisualvm , die is inbegrepen met de JDK, misschien een alternatief.
toegevoegd de auteur trashgod, de bron
Bekijk deze post , er zijn een paar tips
toegevoegd de auteur aymeric, de bron
Een nuttig hulpmiddel voor foutopsporing, maar niet iets dat ik op een eindgebruikersmachine kan uitvoeren. We hebben er al naar gekeken, maar bedankt voor de suggestie.
toegevoegd de auteur DFriend, de bron

1 antwoord

Voer uw monitor uit en maak een sever = ServerSocket (MONITOR_PORT) . Luister vervolgens naar inkomende verbindingen:

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

Opmerking: SwingEventMonitor is niet meer opgenomen in JDK 1.7. Misschien wilt u uw eigen EventQueue gebruiken. Zie Wat is er gebeurd met SwingEventMonitor?

1
toegevoegd