![]() |
Re: Prgramm verhindert herunterfahren
*PUSH*
|
Re: Prgramm verhindert herunterfahren
Hallo,
ja, aber nimm OnDestroy statt OnClose Dort sollte dann stehen MyComponent.Free; Heiko |
Re: Prgramm verhindert herunterfahren
Eventuell liegt es daran:
![]() |
Re: Prgramm verhindert herunterfahren
Zitat:
Das Problem ist, das wenn ich heruterfahren will, beim ersten versuch, alle programme beendet werden, wenn dann windows zu meine programm zum beenden kommt, wird es auch noch beendet, aber dann gehts nicht weiter, dann muss man nochmal herunterfahren drücken. MfG - Ghost007 |
Re: Prgramm verhindert herunterfahren
Hallo,
habe das gleiche Problem mit Programmen, die in der TNA liegen. Das Herunterfahren wird durch das Ereignis WM_QUERYENDSESSION gemeldet. Dieses Ereignis kann mit einer Botschaftsmethode abgefangen werden:
Code:
Laut Win32.hlp dürfte das Programm mit dem Rückgabewert 1 das Runterfahren nicht mehr blockieren,
procedure shutdownevent(var Msg:TWMQUERYENDSESSION); message WM_QUERYENDSESSION;
procedure TForm1.shutdownevent(var Msg:TWMQUERYENDSESSION); begin Msg.Result:=1; close; // <= ohne dieses zusätzliche Schliessen ging es nicht Inherited; end; tut es aber trotzdem, mit dem bekannten Resultat. Erst ein zusätzliches close; löste das Problem. |
Re: Prgramm verhindert herunterfahren
danke :) werde das gleich mal testen
MfG - Ghost007 |
Re: Prgramm verhindert herunterfahren
Hallo,
ich hatte das problem damals mit einem plugin gelöst. jetzt hab ich aber wieder ein programm, welches das herunterfahren verhindert. Das mit dem abfangen der herhunterfahr msg geht ja wie oben beschreiben. Das Windows nicht herunterfährt liegt doch dran, das es von der anwendung kein "ok" zurückbekommt, das die alle ungesicherten daten gesichert hat, oder liege ich da falsch? Wenn ich richtig liegen, kann man das "ok" nich selber senden? MfG - Ghost007 |
Re: Prgramm verhindert herunterfahren
Klar kann man das:
Delphi-Quellcode:
Ich weis nicht ob Delphi das Programm selbst schließt oder man dies händisch übernehmen muss, ich machs jedenfalls händisch
procedure WMQUERYENDSESSION(var msg : TMessage);
begin msg.Result := Integer(true); end; procedure WMENDSESSION(var msg : TMessage); begin msg.Result := Integer(true); end; |
Re: Prgramm verhindert herunterfahren
danke,
werde das ma beim runterfahren jetzt dann testen ;) meld mich morgen wieder ob es geklappt hat MfG - Ghost007 |
Re: Prgramm verhindert herunterfahren
Also,
ich hab den code nu mal getestet und folgende beobatchung gemacht. Das porgramm verschwindet zwar aus dem taskmanager. Jedoch wird das herunterfahren trotzdem verhindert und man muss nochmal auf herunterfahren klicken. Bevor ich den code eingefügt habe, ist das programm nichmal aus dem taskmanager verschwunden. MfG - Ghost007 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
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 by Thomas Breitkreuz