2011-11-12 11 views
6

Come utilizzare SwingEventMonitor per monitorare gli eventi del mouse nelle applicazioni in esecuzione in altre JVM?Utilizzo di SwingEventMonitor per monitorare altre applicazioni?

Il codice demo che ho è in grado di monitorare i clic del mouse nelle applicazioni in esecuzione all'interno della propria JVM, ma le applicazioni avviate separatamente o tramite jnlp vengono ignorate.

Come posso essere sicuro di Java carica la mia SwingEventMonitor app con tutte le applicazioni, indipendentemente da come la sua iniziata (desktop o JNLP)

+0

Java VisualVM, [jvisualvm] (http://java.sun.com/javase/6/docs/technotes/tools/share/jvisualvm.html), che è incluso con il JDK, forse un'alternativa . – trashgod

+0

Un utile aiuto per il debug, ma non qualcosa che posso eseguire su un computer dell'utente finale. L'avevamo già esaminato, ma grazie per il suggerimento. – DFriend

+0

Guarda questo [post] (http://stackoverflow.com/questions/504559/is-it-possibile-per-have-a-monitoremotionlistener-listen-to-all-system-mouse-motion-e), lì sono un paio di indicazioni – aymeric

risposta

1

Eseguire il monitor e creare un . Poi ascolta per le connessioni in entrata:

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

Nota: SwingEventMonitor non è incluso in più JDK1.7, si potrebbe desiderare di spingere il proprio EventQueue. Vedere What happened to SwingEventMonitor?