如何获取指定网段所有存在的IP呢?
做一个循环:
procedure TForm1.FormCreate(Sender: TObject);
var
phe : PHostEnt;
Buffer : array [0..255] of char;
GInitData : TWSADATA;
nLoop: Integer;
begin
WSAStartup($101, GInitData);
for nLoop := xx to yy do //网段xx~yy
begin
Buffer:= Chr(x) + Chr(y) + Chr(z) + Chr(nLoop) + Chr(0);
//x,y,z为网段地址的前三字节的整数数值
phe:= GetHostByAddr(@Buffer, Length(Buffer), PF_INET);
if phe <> nil then //如果对方主机开通且安装TCP/IP的话,则该IP地址存在
MessageBox(Handle, phe^.h_name, '存在', mb_ok);
end;
WSACleanup;
end;