2017-05-03 3 views
0

Ich mache einen Editor wie Programm in Windows mit C#.Wie kann ich den Systemstopp erkennen und den letzten Status in C# wiederherstellen?

Ich frage mich, wie die Programme ihren Arbeitsstatus oder letzte Arbeitsdatei wiederherstellen, die nicht vom Benutzer gespeichert wurde. Photoshop und 3Ds Max zeigen einen Dialog zum Wiederherstellen der letzten Arbeit des Benutzers nach dem Systemstopp, wie zum Beispiel gestopft oder Bluescreen.

Wie machen sie das? Speichern sie ihren Status nur jede Sekunde? Das ist so einfach und vernünftig, aber nicht schick. Ist das nur der Weg?

+0

Ja speichern, schreiben sie nur eine temporäre Datei jede Minute oder so (oft ein benutzerdefinierbarer Zeitraum). Sie behalten den Namen der temporären Datei wie die Registrierung bei und löschen die Datei (und den persistierten Namen), wenn die Datei geschlossen wird, weil der Benutzer das Programm normal beendet oder die Datei explizit geschlossen hat. –

+0

http://office-recovery.com/word.asp –

+0

Es gibt nicht faccy Sache, obwohl. Danke Leute! – donggas90

Antwort

1

Verwenden Sie einen unbehandelten Ausnahmebehandler, in dem die aktuellen Daten in einer speziellen Datei gespeichert werden.

prüft AppDomain Unhandled Exception und Application DispatcherUnhandledException

Wenn Sie sich von anderer Art von Problemen wie Systemfehler schützen wollen, dann müssen Sie in regelmäßigen Abständen die Informationen

+0

Diese Ausnahme sollte nicht funktionieren, wenn das System angehalten wird, aber sie ist wirklich nützlich, um den Absturz-Reporter eines Programms zu erstellen. – donggas90

Verwandte Themen