Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск компьютеров в сети. [D5]


Alecs ©   (2003-02-10 12:10:00) 

Каким образом мне получить список всех компьютеров в локальной сети??????????????????????


O6OPMOT   (2003-02-10 13:17:00) [1]

procedure loadnetnode(NetNode: PNetResourceA);
var hEnum : THandle;
Count,BufSize: DWORD;
NR,Buf: PNetResourceA;
R: Integer;
CName:string;
const InitialSize = $1;
begin
R:=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,
NetNode,hEnum);

if R <> NO_ERROR then exit;
BufSize:=InitialSize; GetMem(Buf,BufSize);
try
while True do
begin
Count:=$FFFFFFFF; // I wish to read ALL items
R:=WNetEnumResource(hEnum,Count, Buf, BufSize);
if R = ERROR_MORE_DATA then
begin // Oops ! The InitialSize is too small begin
Count:=$FFFFFFFF; // I wish to read ALL items
FreeMem(Buf); GetMem(Buf,BufSize);
R:=WNetEnumResource(hEnum,Count, Buf, BufSize);
end;
if R = ERROR_NO_MORE_ITEMS then exit; // All items are processed
if R <> NO_ERROR then Abort; // R is the error code. Process it!
NR:=Buf;
while Count > 0 do
begin
if NR.lpRemoteName <> nil then
CName:=StrPas(NR.lpRemoteName)
else
CName:="";
if NR.dwDisplayType=RESOURCEDISPLAYTYPE_NETWORK then CName:="MS Network";
if NR.dwDisplayType=RESOURCEDISPLAYTYPE_DOMAIN then
CName:="workgroup:"+CName;

Form1.ListBox1.Items.Add(CName);
LoadNetNode(NR);
// after modification
// Go to the next record
INC(NR);
DEC(Count);
end; //while Count > 0
end;
finally
WNetCloseEnum(hEnum); // Close handle
FreeMem(Buf); // Free memory1
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
LoadNetNode(nil);
end;


Yelchev   (2003-02-10 12:32:00) [2]

Это можно сделать с помощью функций WinApi таких как WNetOpenEnum и WNetEnumResource


alev   (2003-02-10 12:27:00) [3]

Зайди на www.sources.ru,
я там находил....


Наверх

Титульная страница Поиск, карта сайта Написать письмо