请问如何枚举本机的所有的网卡和modem,并且获得他们的名称,IP地址和子网掩码,多谢了。能给原码最好。

解决方案 »

  1.   

    GetAdaptersInfo是SDK中的函数,但在delphi中无法调用,请问该如何处理?
      

  2.   

    //支持多网卡
    use ...,winsock;
    ...
    function getIPs: TStrings;
    type
      TaPInAddr = Array[0..10] of PInAddr;
      PaPInAddr = ^TaPInAddr;
    var
      phe: PHostEnt;
      pptr: PaPInAddr;
      Buffer: Array[0..63] of Char;
      I: Integer;
      GInitData: TWSAData;
    begin
      WSAStartup($101, GInitData);
      Result:=TStringList.Create;
      Result.Clear;
      GetHostName(Buffer, SizeOf(Buffer));
      phe := GetHostByName(buffer);
      if phe = nil then  Exit;
      pPtr := PaPInAddr(phe^.h_addr_list);
      I := 0;
      while pPtr^[I] <> nil do
        begin
        Result.Add(inet_ntoa(pptr^[I]^));
        Inc(I);
        end;
      WSACleanup;
    end;
      

  3.   

    fei19790920(饭桶的马甲) :你这个方法能获得网卡的全名吗,
    我用GetAdaptersInfo无法获得网卡的全名只能获得部分的。
      

  4.   

    用snmp可以做到。网上有例子下的。
      

  5.   

    用Microsoft Windows IP Helper API.也可以。
    留下email