Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   IPs im lokalen Netzwerk einlesen (https://www.delphipraxis.net/144271-ips-im-lokalen-netzwerk-einlesen.html)

Delphi-Narr 3. Dez 2009 19:13


IPs im lokalen Netzwerk einlesen
 
Hallo!
Ich habe ein Chatprogramm für das interne Netzwerk geschrieben. Jetzt möchte ich, dass beim Start, wenn eine bestimmte Datei existiert (also if file.exists...), dass in eine Listbox alle iPS/Computernamen geschrieben werden, die im lokalen Netzwerk aktiv sind. Wie kann ich das machen?
Außerdem soll bei jedem die eigene iP angezeigt werden.

Edit:
Ich hab das jetzt mit folgender Function gemacht:

Delphi-Quellcode:
function TForm1.GetLocalIPs(const Lines:TStrings):Boolean;
type
  PPInAddr= ^PInAddr;
var
  wsaData: TWSAData;
  HostInfo: PHostEnt;
  HostName: array[0..255] of Char;
  Addr: PPInAddr;
begin
  Result:=False;
  Lines.Clear;
  if WSAStartup($0102, wsaData)=0 then
  try
    if gethostname(HostName, SizeOf(HostName)) = 0 then begin
       HostInfo:= gethostbyname(HostName);
       if HostInfo<>nil then begin
          Addr:=Pointer(HostInfo^.h_addr_list);
          if (Addr<>nil) and (Addr^<>nil) then
             repeat
                    Lines.Add(StrPas(inet_ntoa(Addr^^)));
                    inc(Addr);
             until Addr^=nil;
       end;
    end;
    Result:=True;
  finally
    WSACleanup;
  end;
end;
Die klappt auch soweit, dass sie erkennt, dass ICH an meinem PC am Router angemeldet bin, die restlichen Rechner findet die aber nicht...



Liebe Grüße!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz