![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отловить сообщение завршения Windows [D7, WinXP]
AVK © (2004-06-04 22:37:00)Проблема в том, что моя программа сидит в трее и при ее закрытии выводит диологовое окно подтверждения закрытия. при завершении работы Windows он неможет ее сам закрыть. Надо поймать такое сообщение и не выводить диалог.
P.S. Если такой вопрос уже звучал и я его не заметил просто киньте ссылочку.
AVK (2004-06-07 16:46:00) [1]Да вроде единичку надо, но все равно не получается.
AVK (2004-06-07 16:45:00) [2]Да вроде единичку надо, но все равно не получается.
Cobalt (2004-06-06 23:26:00) [3]в переменной m.Result (кажется) надо возвращать какое-то значение.
AVK (2004-06-06 22:39:00) [4]Не помогло. Даже если я делаю так
procedure TForm1.WMQUERYENDSESSION(var M: TMessage);//WM_QUERYENDSESSION
begin
inherited;
end;
то все равно приложение не может завершить работу(диалог о подтверждении завершения отключен). Если закоментировать данную процедуру, то все работает. Или я как-то некоректно ее обрабатываю или что... я не знаю.
sniknik (2004-06-06 20:14:00) [5]попробуй так
procedure TForm1.OnCloseSession(var Mess: TMessage); //WM_QUERYENDSESSION
begin
try
inherited;
Destroy;
except {NOTHING} end;
end;
Kair (2004-06-06 20:01:00) [6]Может у тебя в системе какая-то еще программа сидит, в которой написавший её программист не предусмотрел отлов wm_QueryEndSession...
AVK (2004-06-06 12:45:00) [7]Прошу прощения, объявлена процедура WMQUERYENDSESSION, а не WMENDSESSION.
AVK (2004-06-06 11:13:00) [8]
...
procedure WMENDSESSION(var M:TMessage); messageWM_ENDSESSION;
...
procedure TForm1.WMQUERYENDSESSION( varM: TMessage);
begin
WINDOWSENDSESSION := true; //глобальная переменная. Если true, то не показываем диалог о закрытии приложения.
Close;
end;
При завершении работы/перезагрузке Windows приложение закрывается, но Windows не завершает работу и не перезагружается. Чего не хватает в коде?
grom (2004-06-05 14:29:00) [9]procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
end;
sniknik (2004-06-05 01:54:00) [10]http://www.delphimaster.ru/cgi-bin/forum.pl?n=5&search=WM_QUERYENDSESSION