Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Prgramm verhindert herunterfahren (https://www.delphipraxis.net/92862-prgramm-verhindert-herunterfahren.html)

ghost007 29. Mai 2007 13:44

Re: Prgramm verhindert herunterfahren
 
*PUSH*

hoika 29. Mai 2007 13:51

Re: Prgramm verhindert herunterfahren
 
Hallo,

ja,

aber nimm OnDestroy statt OnClose
Dort sollte dann stehen

MyComponent.Free;


Heiko

Luckie 29. Mai 2007 14:02

Re: Prgramm verhindert herunterfahren
 
Eventuell liegt es daran: http://www.delphipraxis.net/internal...=728408#728408

ghost007 29. Mai 2007 14:24

Re: Prgramm verhindert herunterfahren
 
Zitat:

Zitat von hoika
Hallo,

ja,

aber nimm OnDestroy statt OnClose
Dort sollte dann stehen

MyComponent.Free;


Heiko

Hab ich schon ausprobiert ... :(
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

ah63 2. Jul 2007 19:58

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:
    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;
Laut Win32.hlp dürfte das Programm mit dem Rückgabewert 1 das Runterfahren nicht mehr blockieren,
tut es aber trotzdem, mit dem bekannten Resultat.
Erst ein zusätzliches close; löste das Problem.

ghost007 2. Jul 2007 21:43

Re: Prgramm verhindert herunterfahren
 
danke :) werde das gleich mal testen

MfG - Ghost007

ghost007 11. Nov 2007 19:00

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

C.Schoch 11. Nov 2007 21:44

Re: Prgramm verhindert herunterfahren
 
Klar kann man das:
Delphi-Quellcode:
procedure WMQUERYENDSESSION(var msg : TMessage);
begin
msg.Result := Integer(true);
end;

procedure WMENDSESSION(var msg : TMessage);
begin
msg.Result := Integer(true);
end;
Ich weis nicht ob Delphi das Programm selbst schließt oder man dies händisch übernehmen muss, ich machs jedenfalls händisch

ghost007 11. Nov 2007 23:09

Re: Prgramm verhindert herunterfahren
 
danke,
werde das ma beim runterfahren jetzt dann testen ;)
meld mich morgen wieder ob es geklappt hat

MfG - Ghost007

ghost007 12. Nov 2007 23:13

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.
Seite 2 von 3     12 3      

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