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

Вниз

как со своего приложениея упралять сервисов под w2k   Найти похожие ветки 

 
Miron12   (2002-03-27 13:01) [0]

Здраствуйте! пожалуйста дайте кусок кода на Дельфи желательно!
с помощью которого можно запускать, останавливать сервис.
по возможности с пояснением!
Заранее спасибо!


 
BugMaker ©   (2002-03-27 13:16) [1]

//Здесь мы пытаемся запустить сервис
procedure TForm1.Button1Click(Sender: TObject);
var p:PChar;
sManager:Cardinal;
sService:Cardinal;
begin
//Получаем Handle на менеджер сервисов
SManager:=OpenSCManager(
nil,
nil,
SC_MANAGER_ALL_ACCESS);

//Получаем Handle на наш сервис
sService:=OpenService(
SManager,
PChar("Service1"), //Здесь имя сервиса
SERVICE_ALL_ACCESS);

If SService=0 then begin
{Не найден сервис с таким именем}
CloseServiceHandle(sManager);
MessageDlg("Сервис не установлен!",mtError,[mbOk],0);
Exit;
end;

P:=nil;
//А теперь пытаемся запустить сервис
if not StartService(
sService,
0,
p) then begin
MessageDlg("Не удается запустить сервис!",mtError,[mbOk],0);
end;

//Освобождаем Handle для менеджера и для сервиса
CloseServiceHandle(sService);
CloseServiceHandle(sManager);
end;
end;

//А здесь- остановить сервис
procedure TForm1.Button2Click(Sender: TObject);
var p:_SERVICE_STATUS;
sManager:Cardinal;
sService:Cardinal;
begin
//Получаем Handle на менеджер сервисов
SManager:=OpenSCManager(
nil,
nil,
SC_MANAGER_ALL_ACCESS);

//Получаем Handle на наш сервис
sService:=OpenService(
SManager,
PChar("Service1"), //Здесь имя сервиса
SERVICE_ALL_ACCESS);

If SService=0 then begin
{Не найден сервис с таким именем}
CloseServiceHandle(sManager);
MessageDlg("Сервис не установлен!",mtError,[mbOk],0);
Exit;
end;

//А теперь останавливаем сервис
if not ControlService(
sService,
SERVICE_CONTROL_STOP,
p);
then begin
MessageDlg("Сервис не удалось остановить!",mtError,[mbOk],0);
end;

CloseServiceHandle(sService);
CloseServiceHandle(sManager);
end;


 
Miron12   (2002-03-27 13:55) [2]

спасибо BugMaker :)) работает чики!
для остальных кому нужно будет, функции для работы с сервисов находятся в файле winsvc.pas





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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
4-77665
gate A20
2002-04-24 20:13
2002.06.24
кодировка клавиатуры


4-77694
Artemkin
2002-04-26 10:10
2002.06.24
Win Api - Playsound( )


1-77351
Karter
2002-06-12 16:19
2002.06.24
Как в Delphi через API


14-77602
ДедушкаКо
2002-05-17 13:45
2002.06.24
Ну я в районе Полевой-Индустриальной А ГДЕ ВЫ ну например хавк


3-77276
Lena
2002-05-30 14:13
2002.06.24
Чтение из Blob-поля