Laden...

Erkennung Unterschied ob Programm durch Benutzer beendet oder Windows heruntergefahren

Erstellt von Grimmbizkit vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.181 Views
G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 9 Jahren
Erkennung Unterschied ob Programm durch Benutzer beendet oder Windows heruntergefahren

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

16.807 Beiträge seit 2008
vor 9 Jahren

Es gibt SystemEvents, die Du abbonieren kannst; darunter Shutdown, Logoff, Restart....

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 9 Jahren

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