Jak odczytać lokalne adresy IP z różnych kart sieciowych?

0

Jak odczytać lokalne adresy IP z różnych kart sieciowych?

w faq-u znalazłem to:

uses Winsock;

procedure TForm1.FormCreate(Sender:TObject);
var wVersionRequested:WORD;
wsaData:TWSAData;
begin
//Ładujemy bibliotekę Winsock
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
end;

procedure TForm1.Button1Click(Sender:TObject);
var p:PHostEnt;
s:array[0..128] of char;
p2:pchar;
begin
//Pobieramy nazwę komputera
GetHostName(@s, 128);
p := GetHostByName(@s);
Memo1.Lines.Add(p^.h_Name);
//Pobieramy jego adres IP
p2 := iNet_ntoa(PInAddr(p.h_addr_list)^);
Memo1.Lines.Add(p2);
end;

procedure TForm1.FormDestroy(Sender:TObject);
begin
//Zwalniamy Winsock
WSACleanup;
end;

niestety wyświetla mi adres ip tylko pierwszej karty sieciowej, a chciałbym odczytać ip wszystkich kart sieciowych jakie mam w kompie. Jak to zrobić?</ort>

0

W kluczu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services{id_karty}\Parameters\Tcpip są informacje na temat konfiguracji protokołu TCP/IP karty. Między innymi:
-Adres IP(IPAddress)
-Mask podsieci(SubnetMask)
-Brama domyślna(DefaultGateway)
-DHCP

0
maly186 napisał(a)

W kluczu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services{id_karty}\Parameters\Tcpip są informacje na temat konfiguracji protokołu TCP/IP karty. Między innymi:
-Adres IP(IPAddress)
-Mask podsieci(SubnetMask)
-Brama domyślna(DefaultGateway)
-DHCP

niestety ta konfiguracja jest nieprzydatna ponieważ zawiera informacje nie tylko aktualnych kart sieciowych, tez tych juz nieistniejących ja potrzebuje tylko aktualne ip poza tym nie znam {id} aktualnych kart sieciowych. jest pewnie możliwość odczytania tych adreśów poprzez winapi jeśli ktoś zna ten sposób to prosze o pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1