Hallo zusammen,
gibt es eine Möglichkeit beim Programm den Unterschied herauszufinden ob die Anwendung durch den Benutzer beendet wurde, oder ob Windows heruntergefahren wurde.
Ich möchte gerne das der Benutzer das Programm nur mit Eingabe eines Passwort die Anwendung beenden kann, wenn der PC heruntergefahren wird, soll sich das Programm allerdings ob "Probleme" schließen.
Habe bisher nur eine Abfrage im FormClosing-Event.
Hier ein Auszug des Code:
private void TestDialog_FormClosing(object sender, FormClosingEventArgs e)
{
Dialog_Exit dlgExit = new Dialog_Exit();
dlgExit.ShowDialog();
if (dlgExit.DialogResult != System.Windows.Forms.DialogResult.OK)
e.Cancel = true;
syncSql.Stop();
}
Hoffe ihr könnt mir da ein paar Tipps geben.
Gruß Simon
Es gibt SystemEvents, die Du abbonieren kannst; darunter Shutdown, Logoff, Restart....
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für den Tipp,
ich habe es nun über den CloseReason so gelöst:
private void TestDialog_FormClosing(object sender, FormClosingEventArgs e)
{
// Passwortabfrage nur beim Schließen durch Benutzer
if (e.CloseReason == CloseReason.UserClosing)
{
Dialog_Exit dlgExit = new Dialog_Exit();
dlgExit.ShowDialog();
if (dlgExit.DialogResult != System.Windows.Forms.DialogResult.OK)
e.Cancel = true;
}
}
Wenn das Programm läuft, dann ist dies der Wert: WindowsShutDown