请问如何编ping一段网络地址的?,如果我输入开始和结束地址,如何用ping来检测哪些地址能用那?

解决方案 »

  1.   

    如果用winsock和icmp控件分别如何写?
      

  2.   

    http://www.sijiqing.com/vbgood/experience/index.asp?action=read&id=2943
      

  3.   

    去看看这些代码,有没有你合适的
    http://www.dapha.net/down/list.asp?id=1019
    是不用winsock Ping IP
    http://www.dapha.net/down/list.asp?id=189....再没有自己去搜索一下
      

  4.   

    //扫描192.168.0.51-192.168.0.65,最好放在线程里面,不然范围大了会死机
    procedure TForm1.Button1Click(Sender: TObject);
    var
      WSAData:TWSAData;
      HostEnt:PHostEnt;
      sIP:string;
      DecAddr:DWord;
      i:integer;
      interval:int64;
    begin
      Memo1.Lines.Add('开始时间: '+TimeToStr(now));
      interval:=GetTickCount;
      WSAStartup(2,WSAData);
      For i:=51 to 65 do
      begin
        sIp:='192.168.0.'+inttostr(i);
        DecAddr:=inet_addr(Pchar(sIP));
        Try
          HostEnt:=gethostbyaddr(@DecAddr,length(sIP),PF_INET );
          if HostEnt<>nil then
            memo1.Lines.Add('IP Address: '+sIP+'      Computer Name: '+LowerCase(HostEnt.h_name));
        except
          raise Exception.Create('Error');
        end;
      end;
      WSACleanup;
      interval:=GetTickCount-interval;
      Memo1.Lines.Add('结束时间: '+TimeToStr(now));
      Memo1.Lines.Add('用时: '+floattostr(interval/1000)+' 秒');
    end;