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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2008, 11:29   #1
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию (Delphi) Служба не "отпускает" explorer.exe

Долблюсь уже неделю, но явно что-то не так делаю.
Прошу совета.
___
есть служба мониторинга, единственное средство управления - это иконка в трее.
Не исправность заключается в том, что при любом действии завершении работы пользователя (просто пользователя или админа), не завершается процесс explorer.exe
После нескольких тестов, я склоняюсь к тому, что ресурс иконки не даёт завершиться процессу.
Пробовал отлавливать сообщения системы:

Код:
procedure OnQueryEndSession(var Msg: TMessage);
message WM_QUERYENDSESSION;
procedure OnEndSession(var Msg: TMessage);
message WM_ENDSESSION;
но проблема, служба на них не реагирует, простой ехе - да, а службе, как будто не поступают эти сообщения.
___
Нужен совет либо по поводу сообщений в системе, на которые отреагировал бы сервис, либо ... придётся просто написать hook?
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 25.11.2008, 11:37   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

На счёт хуков, что-то я не нашёл ни одного типа, который бы отлавливал сообщения завершения работы Windows.

__________
Ура! заработала.

причиной стало то, что команды были записаны в модуле самой службы, а сейчас я их поместил на форму и всё работает.
Форма ловит сообщение системы и даёт команду на выгрузку иконки.
Всё гениальное - просто!

Последний раз редактировалось Air; 25.11.2008 в 11:45.
Air вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49