Ok ist zwar schon Jahre her aber die Frage kommt ja immer mal wieder auf. Wie kann ich den aktiven Netzwerkadapter finden?
Hab da mal (auch vor Jahren) was gemacht um den ersten Adapter auszulesen (der aktive):
-firstadapter ist eine String Variable
Delphi-Quellcode:
{---**--LOG----SCHREIBEN---------------------**----------}
logfileschreiben('search for network adapters...');
{---**--LOG----SCHREIBEN---------------------**----------}
{------Windows 2000/XP ersten Adapter finden und speichern)--------------------------------}
reg := TRegistry.Create;
reg.Access :=KEY_READ;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SYSTEM\Setup\AnswerFileMap', false);
if reg.ValueExists('Adapter1') then
begin
firstadapter:=reg.ReadString('Adapter1');
end else
begin
firstadapter:='unknown';
end;
reg := TRegistry.Create;
reg.Access :=KEY_READ;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\'+firstadapter, false);
if reg.ValueExists('DHCPServer') then
begin
dhcpserver:=reg.ReadString('DHCPServer');
end;
if reg.ValueExists('EnableDHCP') then
begin
enabledhcp:=inttostr(reg.ReadInteger('EnableDHCP'));
end;
if reg.ValueExists('DHCPDefaultGateway') then
begin
ReadREG_MULTI_SZ(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\'+firstadapter, 'DHCPDefaultGateway', Memo1.Lines);
dhcpdefaultgateway:='DHCP: '+memo1.lines.Strings[0];
end;
reg.closekey;
reg.free;