Feedback

C# - Windows soll beendet werden

Veröffentlicht von am 03.11.2006
(9 Bewertungen)
Es kann ja mal passieren das ein User den Rechner runterfahren will, aber die Daten vom Programm noch nicht gespeichert wurden. Dann kann euch dieses Snippet helfen
GFU-Schulungen  [Anzeige]

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

Microsoft.Win32.SystemEvents.SessionEnding += new Microsoft.Win32.SessionEndingEventHandler (this.WinShutdown);

private void WinShutdown(object sender, Microsoft.Win32.SessionEndingEventArgs e)
{
 //und hier der Code zum speichern oder sonst was
 // mit e.Cancel = true; könnte man den shutdown sogar unterbinden
}
Abgelegt unter Shutdown, Windows beenden, speichern.

5 Kommentare zum Snippet

Macximilian schrieb am 03.05.2008:
Wenn ich unter Vista "e.Cancel = true" setze, erscheint ein Warnungsbildschirm vom Betriebsystem, dass mein Programm das Herunterfahren verhindert. Wie sieht das ganze eigentlich unter XP aus? Kann mir das mal jemand sagen?
Thx,
Macximilian
regalis schrieb am 13.03.2010:
Super Snippet!
Windows 7 öffnet ein Fenster und warnt genauso wie Vista, dass mein Programm das Herunterfahren vereitelt :D
Man kann aber ein Herunterfahren erzwingen.
Unter XP kann ich es leider nicht testen.
Fazit sehr nützlich um seine geöffneten Files zu speichern!
...lypô schrieb am 23.11.2018:
Kann man das nicht einfach im FormClosing-Event machen?
Message- oder DialogBox: "Sollen die Daten gespeichert werden?".
Win8 fährt jedenfalls dann nicht herunter, es sei denn, man erwzingt es.
Koopakiller schrieb am 27.11.2018:
Diese Lösung hier sollte auch bei Nicht-GUI-Anwendungen funktionieren. Wenn man das Beenden der Anwendung je nach Grund anders regeln möchte kann das Snippet hier auch praktisch sein.
Wobei ich auch noch darauf hinweisen möchte, dass beispielsweise das Form.FormClosing Event [1] als Parameter e.CloseReason [2] mitbekommt wodurch man den Grund ebenfalls feststellen kann.

[1] https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.form.formclosing?view=netframework-4.7.2
[2] https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.closereason?view=netframework-4.7.2
...lypô schrieb am 16.12.2018:
Achja, daran habe ich noch gar nicht gedacht. Eine gute Idee.
 

Logge dich ein, um hier zu kommentieren!