Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Вниз

Остановка сервиса   Найти похожие ветки 

 
pavel_guzhanov   (2004-10-29 16:21) [0]

Подскажите, как можно программно остановить сервис? Дело в том, что моя программа - сервис. Она получает команды через telnet. Одна из команд - stop, а вот как по ней остановить программу - не знаю. Помогите, кто в курсе. Application.Terminate - не катит


 
Дмитрий Ботвин   (2004-10-29 16:51) [1]

Вот так:

Uses Winsvc;

procedure TForm1.ExecuteControlService(ServiceName: String);
 var
   SCManagerHandle, SCHandle  : THandle;
   ServiceStatus : TServiceStatus;
 begin
   // 1. Подключениемся к менеджеру сервисов
   SCManagerHandle := OpenSCManager(PChar(CompName.Text), nil, GENERIC_READ);
   // 2. Открытие сервиса
   SCHandle := OpenService(SCManagerHandle, PChar(ServiceName), SERVICE_ALL_ACCESS);
   // 3. Управление состоянием
   ControlService(SCHandle, SERVICE_CONTROL_STOP, ServiceStatus);
   // 4. Закрытие сервиса
   CloseServiceHandle(SCHandle);
   // 5. Закрытие менеджера
   CloseServiceHandle(SCManagerHandle);
 end;


 
pavel_guzhanov   (2004-10-29 16:52) [2]

ух ты! Спасибо! Буду пробовать


 
Erik1 ©   (2004-10-29 19:50) [3]

Думаю тебе надо другое, если твой сервис хочет сам себя остановить то: Останови свой тред(если есть) и сделай ему free. Останови основной цикл сервиса например установкой флага.



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

Форум: "WinAPI";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.033 c
4-1099032593
WaS
2004-10-29 10:49
2004.12.12
Как определить активен ли сейчас рабочий стол????


3-1099950070
HydraMarat
2004-11-09 00:41
2004.12.12
Уникальный PK и "авто-FK"


1-1101731361
race1
2004-11-29 15:29
2004.12.12
tobject


3-1100067136
SergP
2004-11-10 09:12
2004.12.12
Еще раз о номере записи dataset а в onDrawColumnCell DBGrid а


1-1101683635
Кто---то
2004-11-29 02:13
2004.12.12
Можно ли получить листинг своей программы ( экзэшника ) в таком





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский