![]() |
|
|
#1
|
|||
|
|||
|
Я написал простенькую программу которая висит в трее. Но когда я выключаю компьютер прога не завершается и так и висит там. Компьютер выключается только когда в самой проге нажать выход. На какое событие надо прописать выход, чтобы при выключении компа она корректно завершалась?
---------------- Подскажите плиз |
|
#2
|
||||
|
||||
|
Как-то была у меня схожая проблема... Я ее решал по-моему с отловом сообщения WM_CLOSE и потом принудительным завершением процесса. Точно не помню.
|
|
#3
|
||||
|
||||
|
Тогда уж наверное WM_QUIT.
А еще в OnFormClose прописать Action := caFree; ТОесть она у тебя завершается так, как если бы она зависла и вылезло сообщение что программа будет закрыта? |
|
#4
|
||||
|
||||
|
У меня такая штука была с CoolTrayIcon. Вот как решается:
Код:
uses ..., messages, windows;
...
type TForm1 = class(TForm)
...
protected
procedure WMShutdown(var Msg: TMessage); message WM_QUERYENDSESSION;
end;
...
procedure TForm1.WMShutdown(var Msg: TMessage);
begin
//тут должна быть процедура, которая выполняется при завершении программы
Msg.Result := 1; //если написать 0, то комп не будет выключаться
Application.Terminate;
end; |