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

Вниз

как найти числовой ID, путь и описание службы (service)   Найти похожие ветки 

 
Xalexo   (2011-03-22 22:59) [0]

C именем сервиса (lpServiceName\lpDisplayName) и тек. состоянием (dwCurrentState) проблем нет, а вот
как найти числовой ID, путь и описание службы посредством функции EnumServicesStatus [модуль - WINSVC] (или может - какой другой)??? Подскажите пожалуйста...


 
Игорь Шевченко ©   (2011-03-23 00:00) [1]

разве у сервисов есть "числовой ID" ?
описание через QueryServiceConfig2


 
DVM ©   (2011-03-23 00:06) [2]


> как найти числовой ID

PID процесса службы может быть? QueryServiceStatusEx тогда.


 
DVM ©   (2011-03-23 00:10) [3]


> путь

Недостающие функции сам допишешь, там понятно что это:


class function TSCManager.GetConfig(const AServiceName: string;
 const AMachineName: string = ThisMachine): TQueryServiceConfig;
var
 hManager, hSvc: SC_HANDLE;
 BytesNeeded: DWORD;
 PServiceConfig: PQueryServiceConfig;
 LastErr: DWORD;
begin
 hManager := ManagerOpen(SERVICE_QUERY_CONFIG, AMachineName);
 try
   hSvc := ServiceOpen(AServiceName, hManager, SERVICE_QUERY_CONFIG);
   try
     BytesNeeded := 0;
     if QueryServiceConfig(hSvc, nil, 0, BytesNeeded) then
     begin
       LastErr := GetLastError;
       if LastErr <> ERROR_INSUFFICIENT_BUFFER then
         RaiseLastOSError(LastErr);
     end;
     GetMem(PServiceConfig, BytesNeeded);
     try
       Win32Check(QueryServiceConfig(hSvc, PServiceConfig, BytesNeeded, BytesNeeded));
       Result := PServiceConfig^;
     finally
       FreeMem(PServiceConfig);
     end;
   finally
     ServiceClose(hSvc);
   end;
 finally
   ManagerClose(hManager);
 end;
end;

//----------------------------------------------------------------------------

class function TSCManager.GetBinaryPathName(const AServiceName: string;
 const AMachineName: string = ThisMachine): string;
begin
 Result := GetConfig(AServiceName, AMachineName).lpBinaryPathName;
end;


 
Xalexo   (2011-03-28 14:47) [4]

Спасибо всем



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1300958713
Дмитрий С
2011-03-24 12:25
2011.07.03
Есть какие нибудь известные грабли Graphics и много-поточности.


1-1257430353
igor666
2009-11-05 17:12
2011.07.03
Не модальная форма из DLL, не обрабатываются некоторые события.


11-1233338364
Сидор
2009-01-30 20:59
2011.07.03
PaintBox и Button: проблема размещения


15-1300391272
vajo
2011-03-17 22:47
2011.07.03
Проблема со звуком на компе.


1-1257942878
Yurikon
2009-11-11 15:34
2011.07.03
Использование RxTrayIcon