Mira por ejemplo esta es una funcion que dado el IP te devuelve el nombre pero es usando Winsock y me imagino que automaticamente utiliza el DNS configurado en Windows, que es lo que me choc pues yo lo que necesito es poder utilizar un servidor DNS que tengo montado y no el que esta configurado en Windows.
Código Delphi
[-]
uses Winsock;
function GetHostFromIP(sIPAddress: string): string;
var
WSAData: TWSAData;
addr : Cardinal;
lpHost1: PHostEnt;
begin
Result := '';
if WSAStartup(MakeWord(1,0), WSAData) = 0 then
begin
addr := inet_addr(PChar(sIPAddress));
lpHost1 := GetHostByAddr(@addr, sizeof(addr), AF_INET);
if lpHost1 <> nil then
Result := StrPas(lpHost1^.h_name)
else
Result := sIPAddress;
WSACleanup;
end;
end;
Un ejemplo de uso
Código Delphi
[-]
Caption := GetHostFromIP('10.0.0.22');