Wie kann ich von einem Swing-App erkennen, dass der PC Abfahren wird?
-
09-06-2019 - |
Frage
Gut erzogene Windows-Programme müssen die Benutzer ihre Arbeit zu sparen, wenn sie den PC herunterzufahren.
Wie kann ich meine App das Shutdown-Ereignis erkennen? Jede Lösung soll dem Benutzer erlauben, das Herunterfahren abzubrechen, wenn Benutzer auswählt, sagen Sie „Abbrechen“.
Der normale Schaukel Fensterschließhaken nicht funktioniert, noch ein Shutdown-Hook nicht hinzugefügt wird.
In einem Test, die Methoden des Window (window, windowClosed, etc.) nicht aufgerufen.
Die Antwort, die ich angenommen haben, die Verwendung von plattformspezifischen Code erfordert (JNI für WM_QUERYENDSESSION registrieren). Ist das nicht ein Fehler auf Schwingen?
Siehe http://forums.sun.com/thread.jspa? threadID = 481807 & messageID = 2.246.870
Lösung
Schreiben Sie einige JNI Code WM_QUERYENDSESSION Nachricht. Sie können diese erhalten Informationen zu der MSDN-Dokumentation oder durch googeln.
Wenn Sie zu viel C ++ nicht schreiben wollen, diesen Code zu tun, kann ich die JNA Bibliothek empfehlen klicken hier . Welche gibt Ihnen ein paar schöne Java Abstraktionen für C-Code.
Andere Tipps
How-do-i -get-my-Java-Application-to-Shutdown-schön-in-Fenster
Das könnte hilfreich sein
Das oben scheint die bessere Antwort zu sein.
Ich kann keine gute Informationen finden Fenster Shutdown Ereignisse auf der Erfassung. Ich denke, die beste Methode, um Ihre Anwendung zu erkennen wäre zu Wetter versucht, ein Fenster Abschlussveranstaltung zu schließen, oder dergleichen zu verwenden dann die Frage stellen.
Geben Sie für Signalverarbeitung in Java. wenn Windows schließt es wird ein Signal an die Anwendung senden fragen sie höchstwahrscheinlich ein SIGTERM zu beenden
finden Sie unter hier , um mehr über diese (I bin nicht der Eigentümer der Website)