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

Вниз

Список служб W2K, XP   Найти похожие ветки 

 
Babay ©   (2003-11-25 10:32) [0]

Подскажите как получить список служб и их состояние (работает/стоит) на своем или другом компьютере в сети, если я имею на них(компьютерах) соответствующие права (ну в смысле админ).


 
Digitman ©   (2003-11-25 10:58) [1]

примерный алгоритм перечисления имен зарегистрированных служб


procedure TForm1.Button2Click(Sender: TObject);
var
hSM: THandle;
hSvc: THandle;
hSDBLock: Pointer;
EnumInfo, p: PEnumServiceStatus;
EnumState: Boolean;
BytesNeeded: Cardinal;
EntriesReturned: Cardinal;
NextEntry: Cardinal;
i: Integer;
begin
hSM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS or GENERIC_READ or GENERIC_WRITE);
Win32Check(hSM <> 0);
try
hSDBLock := LockServiceDatabase(hSM);
Win32Check(hSDBLock <> nil);
try

EnumInfo := nil;
NextEntry := 0;
memo1.Clear;
EnumState := EnumServicesStatus(hSM,
SERVICE_WIN32 or SERVICE_DRIVER,
SERVICE_ACTIVE or SERVICE_INACTIVE,
EnumInfo^,
0, //SizeOf(EnumInfo),
BytesNeeded,
EntriesReturned,
NextEntry
);
if GetLastError <> ERROR_MORE_DATA then
RaiseLastWin32Error
else
begin
GetMem(EnumInfo, BytesNeeded);
try
Win32Check(EnumServicesStatus(hSM,
SERVICE_WIN32 or SERVICE_DRIVER,
SERVICE_ACTIVE or SERVICE_INACTIVE,
EnumInfo^,
BytesNeeded,
BytesNeeded,
EntriesReturned,
NextEntry
));

p := EnumInfo;
for i := 0 to EntriesReturned - 1 do
begin
memo1.Lines.Add(p.lpServiceName);
inc(p);
end;
finally
FreeMem(EnumInfo);
end;
end;

finally
UnlockServiceDatabase(hSDBLock);
end;
finally
CloseServiceHandle(hSM);
end;
end;


структура PEnumServiceStatus даст тебе инф-цию о прочих атрибутах перечисляемых служб


 
Digitman ©   (2003-11-25 11:02) [2]

это - на лок.компьютере ...
на удаленном - см. параметры вызова OpenSCManager()


 
Babay ©   (2003-11-25 11:44) [3]

Спасибо то что нужно.



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
11-29286
EAccessViolation
2003-05-29 16:02
2004.02.10
OnActivate (OnFocused) Form


3-29253
Stas
2004-01-19 09:29
2004.02.10
Запрос


4-29664
sowell
2003-12-04 14:47
2004.02.10
ShellExecute и его выполнение


3-29231
guest_Dmitry
2004-01-19 16:15
2004.02.10
Формат поля numeric


6-29497
Kinder
2003-10-27 19:26
2004.02.10
Как посчитать трафик текукщего соединения с инетом