Вниз
Скачать: CL | DM;

Обработать закрытие приожения   Найти похожие ветки 

← →
Dot   (2005-07-14 22:37) [0]

Здравствуйте глубокоуважаемые.
Помогите пожалуйста ответом на вопрос.
Как мне обработать событие закрытия приложения. ТО есть приложение вечно висит в процессах, но при завершении работы ОС (т.е. ОС шлет сообщения WM_CLOSE или вроде того всем приложениям) мое приложение совершало бы какие либо действия. Планировщик так сказать.

я думаю что то вроде
if GetMessage(WM_CLOSE) then
ну в обем как правильно?


← →
Просто Джо ©   (2005-07-14 22:41) [1]

Например, обрабатывать событие формы OnClose или OnCloseQuery. Кроме того, не помешало бы обрабатывать сообщение WM_QUERYENDSESSION. Например, так:

 TForm1 = class(TForm)
 private
   procedure WmQueryEndSession (var Message: TMessage); message WM_QUERYENDSESSION;
 public
 end;
...
procedure TForm1.WmQueryEndSession(var Message: TMessage);
begin
 // разрешаем завершение сеанса
 Message.Result := 1;
end;


← →
dot   (2005-07-14 22:46) [2]

Извините поправка, я сказал вишу как процесс. у меня нет формы.


← →
Просто Джо ©   (2005-07-14 22:53) [3]

Тогда в цикле выборки сообщений нужно фильтровать сообщение WM_QUERYENDSESSION. Или что значит "вишу как процесс"?


← →
Dot   (2005-07-14 23:18) [4]

НУ так мне и нужен просто синтаксис команды, какое сообщение системы пришло моему приложению


← →
Просто Джо ©   (2005-07-15 03:35) [5]

Лично я (а я не знаток в программировании на "чистом" WinAPI) могу предложить навскидку несколько вариантов цикла обработки сообщений. Все они сводятся к банальному
  while(GetMessage(msg, 0, 0, 0)) do
  begin
     TranslateMessage(msg);
     DispatchMessage(msg);
  end;
с вариациями.
Но, пока ты не обнародовал свой вариант того, что ты называешь "у меня нет формы" и "приложение вечно висит в процессах" лично мне жаль своего времени на растолковывание непонятно чего и непонятно зачем.


← →
Просто Джо ©   (2005-07-15 03:41) [6]


> [4] Dot   (14.07.05 23:18)
> НУ так мне и нужен просто синтаксис команды, какое сообщение
> системы пришло моему приложению

Нет никакой такой "комманды". Забудь. Есть принципы программирования под конкретной платформой.


← →
alpet ©   (2005-07-15 13:48) [7]

Твое приложение врядли сможет отловить "событие" завершения, особенно с учетом количества способов завершения.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
9-1115805485
Scener
2005-05-11 13:58
2005.09.04
Max height of HeightField


9-1115754839
Georgij
2005-05-10 23:53
2005.09.04
Как осуществить возведение в степень 1/3 ?


3-1122018110
Koala
2005-07-22 11:41
2005.09.04
Ошибка в выполнении запроса: но почему??? FireBird 1.5


14-1123969908
Новиччок
2005-08-14 01:51
2005.09.04
Почему в Фотошопе при сдвгие изображений, они часто прилипают к


1-1123741333
Ксардас
2005-08-11 10:22
2005.09.04
Пара вопросов по richedit




   Наверх