Управлять сервисом на другом компьютере в W2k
Три женщины одеваются в раздевалке после занятия спортивной аэробикой. Разговор, конечно, о мужьях. - Мой муж, - говорит первая, - работает учителем. Он всегда дарит мне коробку конфет или букет цветов перед тем, как овладеть мною. - А мой - ювелир, - говорит вторая, - перед тем как заняться любовью со мной, - он дарит мне жемчужину. Третья женщина задумалась на минутку и говорит: - А мой муж работает в Микрософт. Он всегда присаживается на край кровати и рассказывает мне, как это будет здорово для меня, когда он меня трахнет. |
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; |
Далее: Установка или снятие Debug привелегии у текущего процесса »»