Mit dieser Funktion kann die
IP eines Adapters ausgelesen werden:
Delphi-Quellcode:
// IP Addressen auslesen
function getCurrentIPAddresses(Adapter:
String):TStrings;
var
Reg: TRegistry;
begin
reg := TRegistry.Create;
reg.Access :=KEY_READ;
reg.rootkey:=HKEY_LOCAL_MACHINE;
if reg.ValueExists('
IPAddress')
then
begin
ReadREG_MULTI_SZ(HKEY_LOCAL_MACHINE, '
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\'+Adapter, '
IPAddress', result);
end;
reg.closekey;
reg.free;
end;
Um den aktiven Netzwerkadapter zu bestimmen verwende ich jeweils diese Funktion:
Delphi-Quellcode:
// Ersten und aktiven Netzwerkadapter auslesen (Registry Adapter1)
function getFirstAdapter():String;
var
Reg: TRegistry;
begin
reg := TRegistry.Create;
reg.Access :=KEY_READ;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SYSTEM\Setup\AnswerFileMap', false);
if reg.ValueExists('Adapter1') then
begin
result:=reg.ReadString('Adapter1');
end else
begin
result:='unknown';
end;
end;