Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.09;
Скачать: CL | DM;

Вниз

Как определить момент когда пользователь сделал Log off?   Найти похожие ветки 

 
igornov   (2003-10-15 15:31) [0]

Можно ли перехватить начало этого момента?
Если да то как?

Заранее благодарен.


 
igornov   (2003-10-15 18:00) [1]

Опишу требуемое более детально:
У меня работает сервис который считает время простоя некоторого
процесса а потом пытается корректно завершить процесс или если
это не удаётся то тогда убивает его. Так как сервис анализирует
окна то запускаю я его под системной учётной записью с доступом к рабочему столу. Всё работает замечательно за исключением моментов выхода одного юзера и входа другого - сервис останавливается с предупреждением об ошибке. Внутри сервиса я анализирую текущие окна делая "снимок" процессов. Потом перебираю хендлы и т.д. Очевидно что при выходе пользователя многие хендлы становятся недействительными и ... происходит ошибка с остановом сервиса.

Теперь вопрос: Как отловить внутри сервиса событие выхода пользователя и перестать анализировать окна? или сиё можно как-то защитить?(имеется ввиду проигнорировать ошибку... пробовал перебор окон в try...except помещать - не помогает).

Может у кого есть ещё соображения как проанализировать в сервисе
наличия открытого (активного) рабочего стола?

Зарнее благодарен за помощь.


 
Игорь Шевченко ©   (2003-10-15 18:08) [2]

Если сервис имеет окно (а Delphiйские, насколько мне известно, имеют, то момент выхода - WM_ENDSESSION)


 
igornov   (2003-11-03 13:33) [3]

Если имеет то как взять хендл этого окна. И поучает ли сервис
сообщения типа WM_ENDSESSION?


 
ZEE ©   (2003-11-03 13:57) [4]


> igornov (03.11.03 13:33) [3]
> Если имеет то как взять хендл этого окна.

это разве не твой сервис? - если твой, то прога должна знать хендлы своих форм...


> И поучает ли сервис сообщения типа WM_ENDSESSION?

уже сказали же - если окно есть - то получает


 
igornov   (2003-11-03 16:39) [5]

Ну не имеет у меня этот сервис окна...хоть и делфовский.
И Application внутри Tservice не имеет хендла...


 
ZEE ©   (2003-11-03 16:44) [6]

igornov - создай в нем невидимое окно...


 
igornov   (2003-11-07 17:08) [7]

Как в этом окне ловить WM_ENDSESSION и что делать после этого?
Сервис при Log off почему-то падает с сообщением о том, что
ошибка по адресу и память по этому адресу не может быть Read.



Страницы: 1 вся ветка

Текущий архив: 2004.01.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-25432
AlexNx
2003-12-23 13:11
2004.01.09
Где взять русские XXConsts.pas для Delphi 7.0


1-25380
ak75
2003-12-24 18:52
2004.01.09
Разрешения и DBGrid.Title.Font


14-25520
SiJack
2003-12-17 16:15
2004.01.09
Какой струйный принтер посоветуете ?


4-25651
Колян_К
2003-11-06 12:14
2004.01.09
Что делает mouse.destroy;


14-25540
давыд
2003-12-18 22:02
2004.01.09
Глюк с PPP