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

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

Надо получить список всех IP адресов локальной сети


Vasya.ru ©   (2004-12-29 14:46:00) 

сабж.


Jay1982   (2004-12-30 16:48:00) [1]


 ComputerCount : Integer;
 BufSize       : Cardinal;
 Entries       : Cardinal;


Jay1982   (2004-12-30 16:47:00) [2]


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

procedure FindAllComputers(Workgroup: String);
var
 EnumHandle  : THandle;
 WorkgroupRS : TNetResource;
 Buf         : Array[1..500] of TNetResource;
 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 }


TButton   (2004-12-30 04:16:00) [3]


> Берём наш локальный IP и по маске меняем байты...

не факт.
я могу поставить на одном компе IP 192.168.0.12, а на другом - 165.100.0.4
другой вопрос, конечно, стану ли я или кто-нибудь дугой так делать, но все же.


XProger   (2004-12-30 00:23:00) [4]

Как не получится?
Берём наш локальный IP и по маске меняем байты...


Anatoly Podgoretsky   (2004-12-29 22:29:00) [5]

XProger ©   (29.12.04 19:59) [1]
Не получится всех


Vasya.ru   (2004-12-29 22:08:00) [6]

А код ни у кого не завалялся, или хотя - бы ссылка?


Anatoly Podgoretsky   (2004-12-29 20:18:00) [7]

Кто тебе его отдаст.


XProger   (2004-12-29 19:59:00) [8]

Перебором всех в заданном диапозоне (пингуя)...


Наверх

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