![]() |
Problem WMQUERYENDSESSION mit CoolTrayIcon
Hallo!
Ich hab ein Programm geschrieben, was standardmäßig CanClose:=false ist (außer man gibt das Passwort ein). Nun möchte ich aber, dass das Programm beendet wird, wenn Windows herunterfährt. Dazu habe ich den Source von ![]() Der Source schaut so aus:
Delphi-Quellcode:
Die Probleme:
procedure TForm1.WMQUERYENDSESSION(var msg: TMessage);
begin ShowMessage('Windows wird beendet.'); msg.Result := Integer(TRUE); // TRUE: darf weiter runterfahren; FALSE: nicht runterfahren mayclose:= true; close; end; - Die Procedure wird jedoch nur ausgeführt, wenn das Fenster sichtbar ist. (Benutze die Komponente "CoolTrayIcon") - Ist das Fenster sichtbar, wird die Procedure ausgefürht, dass Programm beendet, jedoch das herunterfahren abgebrochen! Ich muss also zweimal auf herunterfahren gehen. :/ Wie kann ich diese Probleme beheben? Hoffe ihr könnt mir weiterhelfen. :) Vielen Dank im Vorraus, Bernhard PS: Nur mal ganz nebenbei: Wenn ich zweimal auf Herunterfahren gehe, ist "Inaktive Symbole ausblenden" unter den TNA-Einstellungen deaktiviert (XP). Womit hängt denn das zusammen?? |
Re: Problem WMQUERYENDSESSION mit CoolTrayIcon
Hallo,
ich hatte mal das gleiche Problem und ich hab das so geändert: Ich habe eine Variable genommen
Code:
die bei:
private
Windows_Session_End;
Code:
auf false als default-Wert gesetzt wird und bei:
procedure TForm1.Create(Sender: TObject);
begin Windows_Session_End := false; end;
Code:
auf true gesetzt wird.
procedure TForm1.WMQUERYENDSESSION(var msg: TMessage);
begin ShowMessage('Windows wird beendet.'); msg.Result := Integer(TRUE); // TRUE: darf weiter runterfahren; FALSE: nicht runterfahren mayclose:= true; close; end; Diese Variable setzt dann das CanClose auf true und schon gehts. |
Re: Problem WMQUERYENDSESSION mit CoolTrayIcon
@Helmi:
Das ist aber leider nicht mein Problem Das gleiche was du mit der Variable "Windows_Session_End" machst mach ich mit der Variable "MayClose" ;) Doch wenn das Programm "versteckt" ist (Also in die TNA minimiert) wird "TForm1.WMQUERYENDSESSION" nicht ausgeführt. Nur wenn das Fenster sichtbar ist, kommt diese Procedure zum Einsatzt. Das Programm wird daruafhin auch korrekt beendet, jedoch wird das Herunterfahren abgebrochen... |
Re: Problem WMQUERYENDSESSION mit CoolTrayIcon
Habe eben noch etwas experimentiert und da ist mit aufgefallen, dass das von einem anderem Forumular kommt. Das hab ich jetzt mal rausgeschmissen und es geht :)
Danke trotzdem für eure Hilfe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 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-2025 by Thomas Breitkreuz