![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как отловить завершение сеанса или просто перезагрузку? [D5, D6, Win95/98]
BillyJeans © (2002-12-27 10:47:00)мне нужно перед завершением сеанса или перезагрузкой завершить работу своей программы, а как отловить это я не знаю.... подскажите пожалуйста.
Ig0r (2002-12-27 14:11:00) [1]согласен, ничему :). Хотя, если WM_QUERYENDSESSION вернет 0, значит, сессия винды не завершится. Для большей гибкости обработки можно отлавливать и WM_QUERYENDSESSION. Смысл - другой вопрос :)
Song (2002-12-27 13:47:00) [2]И чему это противоречит?
Ig0r (2002-12-27 13:39:00) [3]2Song:
WM_ENDSESSION посылается виндой после получения результата об обработке приложениями WM_QUERYENDSESSION, при этом wParam содержит результат выполнения WM_QUERYENDSESSION. Если хотя бы одно приложение вернет 0, винда прекратит посылку WM_QUERYENDSESSION. По крайней мере, я так всегда думал :)
Song (2002-12-27 13:07:00) [4]Достаточно WM_ENDSESSION
Ig0r (2002-12-27 12:26:00) [5]/-/-
protected
procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
/-/-
procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
//put your code here
end;
bak (2002-12-27 12:12:00) [6]WM_QUERYENDSESSION !
Song (2002-12-27 10:57:00) [7]http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1037272197