uses Winsock
function GetComputerName(IPAddr: String): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr := inet_addr(PAnsiChar(AnsiString(IPAddr))); // <-- IP-Addr nach AnsiString wandeln
HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt <> nil then
Result := string(StrPas(Hostent^.h_name)) // <- Hostname nach String wandeln
else
Result := '';
end;
Beispiel :
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := GetComputerName('192.168.1.2');
end;
Keine Kommentare:
Kommentar veröffentlichen