Требуется написать управление сервисом, запущеном на другом компьютере. С помошью чего это лучеше сделать? 

Code:

uses

Windows, Messages, SysUtils,

StdCtrls, SvcMgr;

var

ssStatus: TServiceStatus;

schSCManager,

   schService: SC_HANDLE;

 

begin

schSCManager := OpenSCManager(PChar('Comp1'), //имя компьютера, nil - local machine

   nil, // ServicesActive database

   SC_MANAGER_ALL_ACCESS); // full access rights

 

if schSCManager = 0 then exit; //Ошибка?

 

schService := OpenService(

   schSCManager, // SCM database

   PChar('SQLServerAgent'), // посмотри имя в Services. В данном случае - MS Server Agent

   SERVICE_ALL_ACCESS);

 

if schService = 0 then exit; //Ошибка?

 

if not QueryServiceStatus(

   schService, // handle to service

   ssStatus) then // address of status information structure

   exit; //Ошибка?

 

case ssStatus.dwCurrentState of

   :

     SERVICE_RUNNING: ShowMessage('Работает!');

   SERVICE_STOPPED: ShowMessage('Выключен');

// ну и т.д.

end;

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить