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

Вниз

Как отловить завершение работы Windows из под сервиса?   Найти похожие ветки 

 
mx   (2007-10-16 09:44) [0]

Подскажите если кто знает, как при завершении работы остановить свой собственный сервис.

Проблема такая: сервис является клиентской частью программы и постоянно посылает сообщения серверной части через определенный порт. Все работает замечательно, кроме момента завершения работы Windows. Windows не может завершить работу при запущенном сервисе.

Заранее Всем спасибо.


 
tesseract ©   (2007-10-16 10:14) [1]

Обрабатывать WM_QUERYENSESSION. lParam - ноль в случае завершение работы.


 
mx   (2007-10-16 10:28) [2]

пробывал так, не получилось поймать момент :(

private
procedure WCL(var Message:TWMQueryEndSession); message WM_QUERYENDSESSION;

procedure TSclient.WCL(var Message: twmqueryendsession);
begin
  message.result:=1;
  message.msg:=wm_endsession;
 {здесь завершаю сервис}
end;


 
Сергей М. ©   (2007-10-16 10:46) [3]


> Windows не может завершить работу при запущенном сервисе


Поэтому Windows подает сервису команду SERVICE_CONTROL_STOP, на которую твой сервис должен немедленно отреагировать и завершить свою работу.


 
mx   (2007-10-16 10:54) [4]


> Сергей М. ©   (16.10.07 10:46) [3]
> Поэтому Windows подает сервису команду SERVICE_CONTROL_STOP,
>  на которую твой сервис должен немедленно отреагировать
> и завершить свою работу.


Если не сложно, дай пожалуйста маленький кусочек кода


 
Сергей М. ©   (2007-10-16 11:04) [5]

procedure TMyService.MyServiceStop(Sender: TService; var Stopped: Boolean);
begin
 Stopped := True;
end;


 
Dmitry S ©   (2007-10-16 13:33) [6]

А что, завершения не произойдет, если сервис откажется останавливаться?


 
Сергей М. ©   (2007-10-16 14:05) [7]

Подозреваю что речь на самом деле идет об обычном приложении, запуздырившим иконку в трей и посему гордо именующем себя "сервисом")


 
mx   (2007-10-16 14:53) [8]

я в принципе почти разобрался из-за чего сервис не выгружается...
как мне кажется дело в драйвере, который он пытается выгрузить вместе с собой., хотя возможно я ошибаюсь...
буду разбираться дальше



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
2-1212830940
Инна
2008-06-07 13:29
2008.07.06
по нажатию кнопки на хтмл-странице нужно закрыть ее и отобразить


15-1211534909
Reindeer Moss Eater
2008-05-23 13:28
2008.07.06
рашен процессор каминг сун


15-1210917516
Татьяна
2008-05-16 09:58
2008.07.06
Базы данных


3-1201600224
dest81
2008-01-29 12:50
2008.07.06
FireBird неповторяющиеся записи


9-1169734159
Creative
2007-01-25 17:09
2008.07.06
3D tetris