starten beim Beenden

AckiB

Mitglied
Hi,
ich möchte ein kleines Backup-Programm schreiben.
Und zwar sollen bestimmte Dateien gesichert werden, wenn ich meinen PC ausschalte!

OK, beim Start von Windows win Programm zu starten ist nicht schwehr (autoxec.bat, Autostart, Registry->Run)...
Aber gibt es auch eine Möglichkeit ein Programm zu starten, wenn Windows herunter fährt ?

Danke, Acki
 
moin


Du hast zwei Möglichkeiten:
1. Du lässt ständig ein Programm laufen und wenn es beendet wird (durch das Herunterfahren) speicherst du die Daten. Möglicherweise klappt das aber nciht und dein Programm wird einfach abgebrochen.

2. Du Benutzt ein eigenes Programm um Windows herunterzufahren, und speicherst vorher noch die Daten ab.


mfg
umbrasaxum
 
Wenn irgendjemand Windows runterfahren will, bekommt jedes Programm WM_QUERYENDSESSION gesendet. Achtung, prüfe LPARAM das Flag ENDSESSION_LOGOFF enthält, wird Windows nicht runtergefahren, nur der User loggt sich aus.

Bei WM_QUERYENDSESSION musst du 0 zurückgeben. Dadurch stoppt Windows das runterfahren (zumindest das Beenden deines Programmes). Jetzt kannst du abarbeiten. Am Ende deines Jobs wirst du dann ja auch den Rechner tatsächlich runterfahren. Das geht dann mit ExitWindows. Hier würde ich mir ein Flag setzen, damit dein Programm beim erneuten WM_QUERYENDSESSION auch weiss, dass jetzt wirklich beendet werden soll (dann TRUE zurückgeben).
 
moin


Und wenn Windows von irgendwas/irgendwem anderem durch ein "Forced Shutdown" runtergefahren wird?


mfg
umbrasaxum
 
Das ist generell das Problem, da kommt man nicht drumrum. Insofern ist es etwas ungeschickt, beim Runterfahren noch etwas machen zu wollen. Microsoft hat da was mit den Updates gedreht, dass die beim Runterfahren ausgeführt werden (unter XP), aber da muss man wahrscheinlich tief in die Trickkiste greifen.
 
Aha, grundsätzlich gibt es da also erstmal keine System-Lösung...

Danke füe die Tipps ! :)

CU
 
moin


Jedenfalls keine zuverlässige.
Dir würde nur die Möglichkeit bleiben meinen zweiten Vorschlag von oben zu nehmen.


mfg
umbrasaxum
 
Hallo !

Also wenn man Windows per Task herunterfahren lässt(um eine bestimmte Uhrzeit), könnte man das Ganze ja vor dem Task einfügen. Fährt man Windows per Hand herunter, könnte man natürlich ein Skript generieren, bzw. eine kleine Batch-Datei, die die Datensicherung ohne einen riesegen Aufwand durchführt...
 
Hallo!

Es ist unter Windows wie unter Linux möglich Startup und Shutdown-Skripte anzulegen:
Start -> ausführen -> Datei -> Snap-in hinzufügen-> Gruppenrichtlinie -> Lokal -> Computerkonfiguration -> Windows-Einstellungen -> Skripts (Starten(Herunterfahren)

Gruß Tom
 
Zurück