Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2010, 22:26   #1
tozter
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 16
По умолчанию Как выйти из программы при логауте из Виндовс?

Консольное приложение. Постоянно висит в трее.
На WinXP, при любом виде логаута, винда ждет когда программа завершится.

Можно ли сделать так, чтоб при логауте программа сама завершала работу?
tozter вне форума Ответить с цитированием
Старый 18.12.2010, 11:33   #2
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от tozter Посмотреть сообщение
Консольное приложение. Постоянно висит в трее.
На WinXP, при любом виде логаута, винда ждет когда программа завершится.

Можно ли сделать так, чтоб при логауте программа сама завершала работу?
Попробуй отловить событие 538(logoff), константы соответствующей я не нашёл, но я думаю должно получиться. Используй ловушки сообщений .
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 18.12.2010, 12:48   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Вам нужно в цикле отлавливать сообщения из очереди с помощью процедуры GetMessage из модуля Windows, основной параметр которой - структура TMsg в которой как раз и будут различные сообщения системы приходящие программе. Вот их и надо "рассматривать" в некоем цикле ...
Вас будет интересовать сообщение WM_QUERYENDSESSION.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 18.12.2010, 14:04   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Вообще-то VCL программа и так сама закрывается.

Если, конечно, вы не наворотили чего в обработчиках событий или сообщений.

Попробуйте: создайте пустое приложение, запустите его и сделайте log-off. Оно закроется. Само.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
установка виндовс ХР: ошибки при копировании 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