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

Вниз

Имена компов в сети!!!   Найти похожие ветки 

 
9999   (2002-11-06 15:18) [0]

Hello! Как получить список имен компов в сети? Спасибо!!!


 
kostik78ua   (2002-11-06 16:03) [1]

uses Winsock,...

var
Domain, Computer, Hosts : Array[1..500] of String[25];

// Поиск доменов в сети
function FindAllDomains: integer;
Var
EnumHandle : THandle;
WorkgroupRS : TNetResource;
Buf : Array[1..500] of TNetResource;
BufSize : Cardinal;
Entries : Cardinal;
wResult : Cardinal;

begin
Result := 0;
FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
With WorkgroupRS do begin
dwScope := RESOURCE_GLOBALNET;
dwType := RESOURCETYPE_ANY;
dwDisplayType := RESOURCEDISPLAYTYPE_DOMAIN;
dwUsage := RESOURCEUSAGE_CONTAINER;
lpProvider := "Сеть Microsoft Windows";
end;

WNetOpenEnum( RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
0,
@WorkgroupRS,
EnumHandle );

Repeat
Entries := 1;
BufSize := SizeOf(Buf);

wResult :=
WNetEnumResource( EnumHandle,
Entries,
@Buf,
BufSize );
If (wResult = NO_ERROR) and (Entries = 1) then begin
Inc( Result );
Domain[ Result ] := StrPas(Buf[1].lpRemoteName);
end;
Until (Entries <> 1) or (wResult <> NO_ERROR);

WNetCloseEnum( EnumHandle );
end; { Find All Domains }

// Поиск компьютеров в домене
function FindAllComputers(Workgroup: String): integer;
Var
EnumHandle : THandle;
WorkgroupRS : TNetResource;
Buf : Array[1..500] of TNetResource;
BufSize : Cardinal;
Entries : Cardinal;
wResult : Cardinal;

WSAData : TWSAData;
pName: PChar;
p: PHostEnt;

begin
WSAStartup($0101, WSAData);

Result := 0;
Workgroup := Workgroup + #0;
FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
With WorkgroupRS do begin
dwScope := RESOURCE_GLOBALNET;
dwType := RESOURCETYPE_ANY;//3;
dwDisplayType := RESOURCEDISPLAYTYPE_DOMAIN;
dwUsage := RESOURCEUSAGE_CONTAINER;
lpRemoteName := @Workgroup[1];
end;

WNetOpenEnum( RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
0,
@WorkgroupRS,
EnumHandle );

Repeat
Entries := 1;
BufSize := SizeOf(Buf);

wResult :=
WNetEnumResource( EnumHandle,
Entries,
@Buf,
BufSize );
If (wResult = NO_ERROR) and (Entries = 1) then begin
Inc( Result );
Computer[ Result ] := StrPas(Buf[1].lpRemoteName);
pName:=Buf[1].lpRemoteName+2;
p:=GetHostByName(pName);
if p<>nil then Hosts[ Result ] := inet_ntoa(PInAddr(p.h_addr_list^)^) else Hosts[ Result ] := "";
end;
Until (Entries <> 1) or (wResult <> NO_ERROR);

WNetCloseEnum( EnumHandle );
WSACleanup;
end; { Find All Computers }



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
3-61476
victor_ch
2002-12-02 11:56
2002.12.19
Уменьшение потребления памяти


4-61870
ТАНАТ
2002-11-06 16:11
2002.12.19
Some qwestions about REBOOTing


7-61837
nickolayLI
2002-10-16 14:00
2002.12.19
блокировка/и разблокировка мыши


14-61755
Феликс
2002-11-27 00:09
2002.12.19
Киньте ссылку, если не сложно, конечно


4-61859
mikl2002
2002-11-06 09:25
2002.12.19
ShFileOperation - Shnamemapping