Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как отловить завершение сеанса или просто перезагрузку? [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо