在Dos下使用 nbtstat -c 机器名

解决方案 »

  1.   

    我有一个相反的例子,你看有没有帮助function IPAddrToName(IPAddr : String): String; 
    var 
      SockAddrIn: TSockAddrIn; 
      HostEnt: PHostEnt; 
      WSAData: TWSAData; 
    begin 
      WSAStartup($101, WSAData); 
      SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); 
      HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); 
      if HostEnt<>nil then 
      begin 
        result:=StrPas(Hostent^.h_name) 
      end 
      else 
      begin 
        result:=''; 
      end; 
    end; 
      

  2.   

    供参考:
    procedure TTheardURLToIP.Execute;
     Var
        WSAData:TWSAData;
        Host: pHostent;
        Result,TemporaryIP:String;
        Err:integer;
    begin
      if (WSAStartup(MAKEWORD(2,0),WSAData)<>0) then
            raise Exception.Create('Winsock Version Error');
     Try
      Host:=WinSock.gethostbyname(pchar(URLName));
      TemporaryIP:=Copy(Host.h_addr^,0,4);
      Result:=Format('%d.%d.%d.%d',
                          [ord(TemporaryIP[1]),
                           ord(TemporaryIP[2]),
                           ord(TemporaryIP[3]),
                           ord(TemporaryIP[4])]);
       GetIPSucceed(Result);
       except
       Err:=WinSock.WSAGetLastError();
       IPAddress:='Error Code:'+InttoStr(Err);
       end;
     WSACleanUP;
    end;