|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2010, 22:26 | #1 |
Пользователь
Регистрация: 14.12.2010
Сообщений: 16
|
Как выйти из программы при логауте из Виндовс?
Консольное приложение. Постоянно висит в трее.
На WinXP, при любом виде логаута, винда ждет когда программа завершится. Можно ли сделать так, чтоб при логауте программа сама завершала работу? |
18.12.2010, 11:33 | #2 |
Участник клуба
Регистрация: 21.03.2010
Сообщений: 1,508
|
Попробуй отловить событие 538(logoff), константы соответствующей я не нашёл, но я думаю должно получиться. Используй ловушки сообщений .
|
18.12.2010, 12:48 | #3 |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
Вам нужно в цикле отлавливать сообщения из очереди с помощью процедуры GetMessage из модуля Windows, основной параметр которой - структура TMsg в которой как раз и будут различные сообщения системы приходящие программе. Вот их и надо "рассматривать" в некоем цикле ...
Вас будет интересовать сообщение WM_QUERYENDSESSION.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
18.12.2010, 14:04 | #4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Вообще-то VCL программа и так сама закрывается.
Если, конечно, вы не наворотили чего в обработчиках событий или сообщений. Попробуйте: создайте пустое приложение, запустите его и сделайте log-off. Оно закроется. Само.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
установка виндовс ХР: ошибки при копировании | orcnodead | Windows | 11 | 22.12.2009 22:35 |
Как нажатием кнопки выйти из неактивной программы? | Iceman | Win Api | 2 | 18.12.2009 21:21 |
Как можно программно выйти из ждущего режима | xakkkkker | Win Api | 1 | 13.03.2009 17:26 |
Как выйти из бесконечного цикла! | Эдуард | Общие вопросы C/C++ | 11 | 02.03.2008 19:15 |
Сделать чтобы оболочкой программы был не ДОС а нормальное окно виндовс | Артэс | Общие вопросы C/C++ | 7 | 12.06.2007 12:11 |