Форум: "WinAPI";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизКак в своей программе отловить выключение компьютера? Найти похожие ветки
← →
Volf_555 (2005-11-08 03:19) [0]Как реализовать программу, которая будет висеть в трее и ждать определённого сообщения?
В данном случае - сообщение про выключение компьютера. И после того, как это сообщение будет обнаружено - будут выполняться определённые действия.
← →
Джо © (2005-11-08 03:50) [1]Сообщение WM_QUERYENDSESSION.
← →
vertal © (2005-11-08 17:10) [2]Только окончание текущей сессии - не то же самое, что выключение компьютера
← →
Джо © (2005-11-08 17:14) [3]
> [2] vertal © (08.11.05 17:10)
Вы правы, выдергивание шнурка из сети электропитания вряд ли инициирует сообщение WM_QUERYENDSESSION.
← →
Leonid Troyanovsky © (2005-11-08 17:40) [4]
> vertal © (08.11.05 17:10) [2]
> Только окончание текущей сессии - не то же самое, что выключение
Для сидящих в трее оно (или WM_ENDSESSION) знаменует конец света.
В любых других случаях, выполнение неких определенных действий
представляется весьма маловероятным.
--
Regards, LVT.
← →
Volf_555 (2005-11-08 19:14) [5]Как тогда решить эту проблему другим способом?
← →
Джо © (2005-11-08 19:21) [6]
> [5] Volf_555 (08.11.05 19:14)
> Как тогда решить эту проблему другим способом?
Какую проблему? Пока есть только одна проблема, вот она, из оригинального поста: "Как реализовать программу, которая будет висеть в трее и ждать определённого сообщения? ". Решается проблема просто: пишется приложение, которое "висит в трее" и ждет определенного сообщения.
Уж не обессудь, но складывается ощущение, что ты хочешь сделать работу чужими руками. Или я ошибаюсь?
← →
vertal © (2005-11-08 21:37) [7]> Вы правы, выдергивание шнурка из сети электропитания вряд ли
> инициирует сообщение WM_QUERYENDSESSION.
Я имел в виду не это, а возможность выбора пункта "Завершение сеанса ..." - сообщение это будет, но компьютер то не выключится. Я сам не знаю точно как, но наверное можно отловить именно выключение компьютера, только программа тогда должна загружаться и оставться загруженной даже когда в систему не вошел пользователь.
← →
Джо © (2005-11-08 21:44) [8]
> [7] vertal © (08.11.05 21:37)
Нет, отдельного сообщения нет.
WM_QUERYENDSESSION
посылается во всех случаях. Для того, чтобы разделить завершение сеанса и перезагрузку/выключение, нужно проверять установку флагаENDSESSION_LOGOFF
вlParam
. Разделить же перезагрузку и выключение вообще не представляется возможным, такая информация в сообщении не передается.
← →
Джо © (2005-11-08 21:45) [9]
> только программа тогда должна загружаться и оставться загруженной
> даже когда в систему не вошел пользователь.
Это называется сервис.
← →
Anatoly Podgoretsky © (2005-11-08 22:00) [10]Джо © (08.11.05 21:44) [8]
А зачем, логически перезагрузка это выключение с последующим включением.
← →
Джо © (2005-11-08 22:13) [11]
> [10] Anatoly Podgoretsky © (08.11.05 22:00)
Это-то я понимаю. Стараюсь предвидеть дальнейшие вопросы, поэтому сразу и описал, какого рода информацию можно вытянуть из сабжевого сообщения.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c