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

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

Как отловить выключение windows. [D7, Win2k, WinXP]


Merlot ©   (2005-04-29 10:59:00) 

Здравствуйте Уважаемые!
Подскажите пожалуйста как узнать, что windows выключается.
Пробывал WM_QUERYENDSESSION и WM_ENDSESSION, когда выключение идет через меню пуск, все нормально работает, но если комп выключать кнопкой "включение", то эти события не отслеживаются. Спасибо!


Merlot   (2005-04-29 12:49:00) [1]

у меня отключает windows кнопка выключения.


alpet   (2005-04-29 12:33:00) [2]

У тебя блок-питания отключает Windows или кнопка выключения ?

The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls the ExitWindows function.

Действительно - если пользователь хочет завершить сеанс, или приложение вызвало функцию ExitWindows.

Есть еще сообщения по просыпанию/засыпанию компа.
WM_POWERBROADCAST
А также полезные функции в разделе MSDN: Power Management Functions
Локальная ссылка: ms-help://MS.MSDNQTR.2003APR.1033/power/base/power_management_functions.htm


КиТаЯц   (2005-04-29 11:22:00) [3]

Держи:


 private
   procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;

procedure tForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
inherited;
Message.Result:=0;                                                
 showmessage('Кажется Виндус вырубается...');
Message.Result:=1;
end;


Кнопку "пуск" отлавливает если в панели управление - электропитание - при нажатии кнопки отключения питания НЕ стоит "Действие не требуется"
Кнопку "Ресет" почему-то не ловит...


mgcr   (2005-04-29 11:15:00) [4]


> но если комп выключать кнопкой "включение", то эти события
> не отслеживаются. Спасибо!


Если выдергивать сетевой шнур, то сообщений тоже не посылается. Странно, правда ?


Наверх

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