Главная страница
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.023 c
1-29385
Прямой
2004-02-01 22:18
2004.02.10
Надо получить иконку для зарегистрированного в системе файла


4-29667
Bopros
2003-12-04 19:50
2004.02.10
Помогите с GetNamedSecurityInfo


14-29575
alxx
2004-01-14 10:57
2004.02.10
Кто-нибудь подключал КПК через ИК GPRS к мегафону?


14-29541
Alibaba
2004-01-21 11:14
2004.02.10
Где База решений


3-29268
DimaF
2004-01-07 02:31
2004.02.10
Подскажите под что написать