Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Beim runterfahren automatisch Prozesse beenden? (https://www.delphipraxis.net/7435-beim-runterfahren-automatisch-prozesse-beenden.html)

Flogo 12. Aug 2003 11:46

Re: Beim runterfahren automatisch Prozesse beenden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Vor kurzem hat mich ein Freund gefragt ob ich ihm genau so ein Tool schreiben kann (Rechner zu bestimmter Zeit runterfahren). Hab natürlich in der DP gesucht und auch den Eintrag gefunden, ein bisschen rumgestümpert und rausgekommen ist ein kleines Programm (ShutMeDown). Dabei hab ich mich gar nicht um die laufenden Prozesse gekümmert aber es scheint ihn nicht zu stören. Er fährt ganz normal runter und auch wieder rauf(ohne Scandisk,...). Ich hab irgendwie gedacht: "Soll Windoof sich darum kümmern" und es scheint zu klappen

hircusmutzus 12. Aug 2003 11:51

Re: Beim runterfahren automatisch Prozesse beenden?
 
Danke für den Code, ich werds mal testen!

MfG Matthias Volland

P.S.: Bin leider grad damit beschäftigt msblast vom System zu entfernen!

Brüggendiek 13. Aug 2003 00:30

Re: Beim runterfahren automatisch Prozesse beenden?
 
Hallo Mathias!

Es gibt 2 Arten von Programmen:
Die einen beenden sich, wenn Windows die Shutdown-Nachricht sendet, ganz automatisch. Die sind harmlos und brauchen zum Runterfahren nicht beendet werden.

Die anderen laufen dann noch auf eine Ende-Frage. Z.B. fragen sie, ob die Daten nicht doch gespeichert werden sollen oder ob man das Programm wirklich beenden will. Diese Programme bereiten ein Problem, da sie auch beim Schicken einer Close-Nachricht in die entsprechende Abfrage gehen und damit das Herunterfahren so oder so wirksam verhindern können.

Fazit: in eigenen Programmen MIT END-RÜCKFRAGE sollte die Nachricht "WM_QUERYENDSESSION" oder "WM_ENDSESSION" abgefangen und zum rückfragelosen Beenden des Programmes benutzt werden, da man sich sonst Probleme einfängt. Programme, die auf Ende oder Schließkreuz oder ALT-F4 ohne Frage terminieren, braucht man nicht abzusichern.

Zu Deinem Problem: Du mußt halt alle eventuell laufenden Programme daraufhin testen, wie sie beim Runterfahren reagieren. Normalerweise beendet Windows die Programme (über die Endsession-Nachricht) selber. "Widerspenstige" Programme erfordern ggf. Maßnahmen.

Fazit: Egal, wie sauber man selber arbeitet, der Müll der Anderen kann alles versauen!

Gruß

Dietmar Brüggendiek

Assarbad 13. Aug 2003 08:06

Re: Beim runterfahren automatisch Prozesse beenden?
 
Also ich erklär mal etwas vereinfacht Logoff und Shutdown:
  • Logoff: Alle Prozesse des aktuellen Users/Session/Desktops werden beendet.
  • Shutdown = Logoff + Services etc werden runtergefahren und dann wird der Rechner bei Hardwareunterstützung abgeschalten.

Deine Frage ist also müßig, weil exakt dies gemacht wird. Oder stell sie anders, falls ich einen Aspekt übersehen hab.

Moyyer 15. Aug 2003 10:55

Re: Beim runterfahren automatisch Prozesse beenden?
 
Ich hab mir auch schon so ein Programm programmiert, das nach einer eingegebenen Zeit herunterfährt. Falls du es dir mal anschauen willst, kannst du ja mal zu www.Moyyer.de\Downloads gehen und es dir herunterladen.

hircusmutzus 15. Aug 2003 11:21

Re: Beim runterfahren automatisch Prozesse beenden?
 
Danke @Moyyer! Nettes Programm, sieht sehr gut aus. Dann werd ich jetzt in Zukunft deins nehmen!

MfG Matthias Volland


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz