Форум: "Сети";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизНадо получить список всех IP адресов локальной сети Найти похожие ветки
← →
Vasya.ru © (2004-12-29 14:46) [0]сабж.
← →
XProger © (2004-12-29 19:59) [1]Перебором всех в заданном диапозоне (пингуя)...
← →
Anatoly Podgoretsky © (2004-12-29 20:18) [2]Кто тебе его отдаст.
← →
Vasya.ru © (2004-12-29 22:08) [3]А код ни у кого не завалялся, или хотя - бы ссылка?
← →
Anatoly Podgoretsky © (2004-12-29 22:29) [4]XProger © (29.12.04 19:59) [1]
Не получится всех
← →
XProger © (2004-12-30 00:23) [5]Как не получится?
Берём наш локальный IP и по маске меняем байты...
← →
TButton © (2004-12-30 04:16) [6]
> Берём наш локальный IP и по маске меняем байты...
не факт.
я могу поставить на одном компе IP 192.168.0.12, а на другом - 165.100.0.4
другой вопрос, конечно, стану ли я или кто-нибудь дугой так делать, но все же.
← →
Jay1982 © (2004-12-30 16:47) [7]
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 }
← →
Jay1982 © (2004-12-30 16:48) [8]
ComputerCount : Integer;
BufSize : Cardinal;
Entries : Cardinal;
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c