![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно программно получить список компьютеров в лок.сети?
Krok © (2002-05-13 14:23:00)Как можно программно получить список компьютеров в лок.сети?
Тот, который показывается при нажатии на иконку "Мое сетевое окружение"
Dimka Maslov (2002-05-15 09:35:00) [1]http://downloads.endmius.com/findcomp.zip
Zak (2002-05-15 07:07:00) [2]Как найти все компьютеры в рабочей группе?
var Computer : Array[1..500] of String[25];
ComputerCount : Integer;
procedure FindAllComputers(Workgroup: String);
Var EnumHandle : THandle;
WorkgroupRS : TNetResource;
Buf : Array[1..500] of TNetResource;
BufSize : Integer;
Entries : Integer;
Result : Integer;
begin ComputerCount := 0;
Workgroup := Workgroup + #0;
FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
With WorkgroupRS do begin dwScope := 2;
dwType := 3;
dwDisplayType := 1;
dwUsage := 2;
lpRemoteName := @Workgroup[1];
end;
WNetOpenEnum( RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, @WorkgroupRS, EnumHandle );
Repeat Entries := 1;
BufSize := SizeOf(Buf);
Result :=WNetEnumResource( EnumHandle, Entries, @Buf, BufSize );
If (Result = NO_ERROR) and (Entries = 1) then begin Inc( ComputerCount ); Computer[ ComputerCount ] := StrPas(Buf[1].lpRemoteName);
end;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end; { Find All Computers }
Yuri Btr (2002-05-14 10:45:00) [3]У Димки Маслова есть хороший пример - findcomp.zip
Поищи в кладовке.
vuk (2002-05-13 14:58:00) [4]Если для WinNT/2000/XP, то пример здесь:
http://delphibase.endimus.com/?action=viewfunc&topic=netlan&index=1
Song (2002-05-13 14:50:00) [5]В FAQ есть.
VuDZ (2002-05-13 14:28:00) [6]WNetEnumResources() если не ошибаюсь - MSDN"а пока нету под рукой
Krok (2002-05-13 14:26:00) [7]Задача: тем или иным образом получить имя компьютера на котором зарегистрирован некоторый DCOM-сервер. Идея - перебрать все... А как?