Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как управлять сервисом на другом компьютере в Windows 2000?

01.01.2007

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

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;

Взято с сайта https://blackman.wp-club.net/