zoukankan      html  css  js  c++  java
  • Delphi获取本机所有的IP

    安装Indy

    uses  IdStackWindows;

    var
       Isw:TIdStackWindows;
       slist:TStringList;
    begin
      Isw:=TIdStackWindows.Create;
      slist:=TStringList.Create;
      try
        Isw.AddLocalAddressesToList(slist);//这个方法可以取出IP
      finally
        FreeAndNil(Isw);
        FreeAndNil(slist);
      end;
    end;

     另外一种方法:

      

    var
      sck: TIdStackWindows;
      address: TIdStackLocalAddressList;
    begin
      sck := TIdStackWindows.Create;
      address := TIdStackLocalAddressList.Create;
      try
        sck.GetLocalAddressList(address);
        for i := 0 to address.Count - 1 do
        begin
          if address[i].IPVersion in [Id_IPv4] then  //过滤IP_V6
          begin
              Item.Caption := address[i].IPAddress; //item是其他变量
          end;
        end;
      finally
        FreeAndNil(sck);
        FreeAndNil(address);
      end;
    end

    XE10.x 使用正常

    D2010

    function GetLocalIP(Multi: Boolean = False): string;
    type
      PPInAddr = ^PInAddr; //取本机IP,可取多个(分行列出)
    var
      wsaData: TWSAData;
      HostInfo: PHostEnt;
      HostName: array[0..255] of Char;
      Addr: PPInAddr;
    begin
      Result := '';
      if WSAStartup($0101, wsaData) <> 0 then
        exit;
      try
        if gethostname(HostName, SizeOf(HostName)) <> 0 then Exit;
        
        HostInfo := gethostbyname(HostName);
        if HostInfo = nil then Exit;
        
        Addr := Pointer(HostInfo^.h_addr_list);
        if (Addr = nil) or (Addr^ = nil) then Exit;
        
        Result := StrPas(inet_ntoa(Addr^^));
        inc(Addr);
        while (Addr^ <> nil) and Multi do begin
          Result := Result + ^M^J+ StrPas(inet_ntoa(Addr^^));
          inc(Addr);
        end;
      finally
        WSACleanup;
      end;
    end;
  • 相关阅读:
    java实习生面试
    使用vue可视化界面创建vue项目
    Git操作分支
    ECharts获取Json文件数据
    Java中字符串反转
    es6新增的API
    es5新增的数组的方法
    操作字符串的相关方法
    排序方法总结
    js内置对象-Array
  • 原文地址:https://www.cnblogs.com/Master-Qi/p/10675743.html
Copyright © 2011-2022 走看看