mmh.. mit dem link hat's irgendwie nich gefunzt..
ich hab mir heute mal cooltrayicon angeschaut.. in der demo davon gab's auch diese funktion, die hab ich uebernommen und es funktioniert..
(versteh das zwar nich unbedingt, aber es geht.
Delphi-Quellcode:
private
SessionEnding: Boolean;
procedure WMQueryEndSession(var Message: TMessage); message WM_QUERYENDSESSION;
procedure TForm_Main.WMQueryEndSession(var Message: TMessage);
begin
SessionEnding := True;
Message.Result := 1;
end;
meine OnCloseQuery-Funktion sieht dann so aus:
Delphi-Quellcode:
procedure TForm_Main.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
msg: Integer;
text: String;
askexit: Boolean;
begin
askexit := True;
if reg_minonx and (not ExitButtonWasClicked) then
askexit := False;
if askexit then
begin
text := 'Wollen Sie wirklich beenden?';
msg := Application.MessageBox(Pointer(text), 'Beenden', MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION);
if msg = IDYES then
CanClose := True
else
CanClose := False;
end
else
CanClose := False;
if reg_minonx and (not ExitButtonWasClicked) then
Application.Minimize;
ExitButtonWasClicked := False;
if SessionEnding then
CanClose := True;
end;
wenn ich jetzt windows beende, wird nicht das Programm einfach geschlossen, ohne Abfrage, einfach so. Genau wie ich es haben will
Mat