Java: come posso reagire a arresto del computer in Windows XP?
Domanda
E 'possibile fare qualche gestore che farà qualcosa quando lo spegnimento del computer dell'utente con Java su Windows XP (opzionale, win7)? Come?
Grazie.
Soluzione
E 'possibile aggiungere un gancio di arresto per il vostro programma Java che viene richiamato se la JVM è l'arresto, per qualsiasi motivo (diverso da tra cui O / S arresto. È questo che vuoi? System.exit()
)
Usa: java.lang.Runtime.addShutdownHook(Thread)
:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// shutdown code here
}
});
Altri suggerimenti
un gancio di arresto dovrebbe fare il lavoro.
Da API Doc :
Registra una nuova gancio di arresto virtuale macchina. La macchina virtuale Java si spegne in risposta a due tipi di eventi:
- Il programma termina normalmente, quando le uscite ultimo filo non daemon o quando l'uscita (equivalentemente, System.exit) viene richiamato il metodo, o
- La macchina virtuale viene terminata in risposta ad un interrupt utente, ad esempio digitando ^ C, o un evento di livello di sistema, ad esempio disconnessione dell'utente o arresto del sistema.
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// do something
}
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow