![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как просканировать все локальные IP? [D6]
Novichek © (2002-10-16 01:17:00)Как просканировать все локальные IP, как это делает windows commander?
perov (2002-10-17 12:27:00) [1]а как это делает windows comander?
AlexBeliy (2002-10-16 17:27:00) [2]IP Не знаю. А список машин - кто-то писал следующее:
(проверял - работает!!!)
var
Buf : array[0..200] of TNetResource;
CompCount:Integer;
function FindAllComputers(Workgroup: string):Integer;
var
EnumHandle : THandle;
WorkgroupRS : TNetResource;
BufSize : Cardinal;
Entries : Cardinal;
Rest : Cardinal;
begin
CompCount := 0;
Workgroup := Workgroup + #0;
FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
with WorkgroupRS do begin
dwScope := RESOURCE_GLOBALNET;
dwType := RESOURCETYPE_ANY;
dwDisplayType := RESOURCEDISPLAYTYPE_DOMAIN;
dwUsage := RESOURCEUSAGE_CONTAINER;
lpRemoteName := @Workgroup[1];
end;
WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,@WorkgroupRS,EnumHandle );
Entries := 200;
BufSize:=SizeOf(Buf);
Rest:=WNetEnumResource(EnumHandle,Entries,@Buf[0],BufSize);
if (Rest = NO_ERROR) and (Entries > 0) then CompCount:=Entries;
WNetCloseEnum( EnumHandle );
end; { Find All Computers }
Buf это массив сетевых ресурсов первый раз вызываеш функцию с параметром "" в buf получаеш список групп, потом вызываеш с параметром "имя группы" в buf получаеш компьютеры группы, потом вызываеш с параметром "имя компютера" в buf получаеш сетевые ресурсы (диски, принтеры.).
Все.!