uses
WinSock;
function GetHostNameByIP(IPAddress: string): string;
var
WSAData: TWSAData;
HostInfo: PHostEnt;
ulIP: Integer;
pIP: PChar;
begin
Win32Check(WSAStartup($0101, WSAData)=0);
try
ulIP := Inet_Addr(PChar(IPAddress));
pIP := PChar(@ulIP);
HostInfo := GetHostByAddr(pIP, 4, AF_INET);
if Assigned(HostInfo) then
Result := HostInfo.h_name
else
Result := '';
finally
WSACleanup();
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetHostNameByIP('136.1.240.21'));
end;