Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.07.2008, 08:44
Mersedes-great Mersedes-great вне форума
Прохожий
 
Регистрация: 17.07.2008
Сообщения: 1
Репутация: 10
По умолчанию Программа в трее!

Я написал простенькую программу которая висит в трее. Но когда я выключаю компьютер прога не завершается и так и висит там. Компьютер выключается только когда в самой проге нажать выход. На какое событие надо прописать выход, чтобы при выключении компа она корректно завершалась?
----------------
Подскажите плиз
Ответить с цитированием
  #2  
Старый 17.07.2008, 10:22
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Как-то была у меня схожая проблема... Я ее решал по-моему с отловом сообщения WM_CLOSE и потом принудительным завершением процесса. Точно не помню.
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #3  
Старый 17.07.2008, 11:28
Аватар для notricky
notricky notricky вне форума
Прохожий
 
Регистрация: 09.07.2008
Сообщения: 13
Репутация: 10
По умолчанию

Тогда уж наверное WM_QUIT.

А еще в OnFormClose прописать Action := caFree;

ТОесть она у тебя завершается так, как если бы она зависла и вылезло сообщение что программа будет закрыта?
Ответить с цитированием
  #4  
Старый 17.07.2008, 13:49
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

У меня такая штука была с 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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter