Zitat von
gkaeberich:
Hallo,
Ich suche eine zuverlässige Möglichkeit in einem Netzwerk von einem bestimmten Rechner aus von anderen Rechnern, deren Netbios-Namen mir bekannt sind, die gerade gültige
IP-Adresse zu ermitteln. In dem Netzwerk läuft DHCP und ein DNS-Server.
Versuchs mal hier
Allerdings stürzt das ab wenn der Rechner nicht gefunden werden kann. Hier die überarbeitete Funktion, es läuft, braucht allerdings ein paar Sekunden wenn der Netbios-Name
nicht gefunden werden kann:
Code:
function IPAdress(
ip : string) : String;
var
phoste : PHostEnt;
WSAData : TWSADATA;
begin
if WSAStartup($0101, WSADATA) = 0 then begin
phoste := GetHostByName(pchar(
ip));
if phoste = nil then
ip := 'Error'
else
ip := StrPas(inet_ntoa(PInAddr(phoste^.h_addr_list^)^));
WSACleanup;
end;
result :=
ip;
end;