Vor dem Herunterfahren laufende .exe beenden

  • Schönen guten Abend,

    ich möchte gerne ein laufendes Script automatisch beenden bevor der PC runtergefahren wird. Schon klar das beim Herunterfahren alle Programm beendet werden, wichtig ist aber das es VOR dem Herunterfahren passiert.

    Ich möchte also mit einem Script/Befehl erkennen wenn ein User sich abmeldet, den PC neu startet oder einfach herunter fährt. Dieser Prozess soll dann abgebrochen werden und nachdem meine .exe geschlossen ist, fortgesetzt werden.

    Ich habe hier und da ein Befehl per GUIRegisterMsg & $WM_QUERYENDSESSION gesehen, aber ich möchte eigentlich ungern ein GUI dafür anlegen. Gibt es eine einfachere Methode? Wenn nicht wie funktioniert dieser Befehl? Aus der Hilfe werde ich nicht so ganz schlau.

    Liebe Grüße
    samy

    Einmal editiert, zuletzt von samy123 (6. Juni 2013 um 15:24)

  • Die von chess genannte Funktion, registriert eine festgelegte Funktion beim Beenden des Programmes.

    WIe man nun genau feststellt ob der PC heruntergefahren wird oder nicht, weiß ich nicht.
    Man könnte jedoch ganz einfach (eine Funktion aufrufen lassen) den shutdown-a Befehl senden, um somit den Vorgang (das Herunterfahren) abzubrechen.

    Hoffe, habe dich richtig verstanden..
    Wenn nicht, frag einfach nochmal was du genau willst :)

  • [autoit]


    OnAutoItExitRegister("_ExitHandler")

    [/autoit][autoit][/autoit][autoit]

    While True
    Sleep(20) ;CPU-Auslastung
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _ExitHandler()
    Switch @ExitMethod
    Case 0
    ;Code für normales Schließen
    Case 1
    ;Code für Schließen durch Exit
    Case 2
    ;Code für Schließen durch Exit im Traymenü
    Case 3
    ;Code für Schließen durch Abmeldung
    Case 4
    ;Code für Schließen durch Herunterfahren
    EndSwitch
    EndFunc

    [/autoit]

    So kann man rauskriegen, ob der PC runtergefahren wird. ^^

    lg

  • Wunderbar, Dankeschön!
    So etwas habe ich gesucht.

    Damit ist mein Problem gelöst.

    Grüße
    samy