|
#1
|
|||
|
|||
Программа в трее!
Я написал простенькую программу которая висит в трее. Но когда я выключаю компьютер прога не завершается и так и висит там. Компьютер выключается только когда в самой проге нажать выход. На какое событие надо прописать выход, чтобы при выключении компа она корректно завершалась?
---------------- Подскажите плиз |
#2
|
||||
|
||||
Как-то была у меня схожая проблема... Я ее решал по-моему с отловом сообщения WM_CLOSE и потом принудительным завершением процесса. Точно не помню.
Хорошо написанная программа не требует документации ICQ 9-184-668. |
#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; |