Hallo zusammen
eine kleine Abwandlung des Codes von toyoman ..
Code:
function NetworkConnect(AdapterNr : Integer) : Boolean;
var
reg : TRegistry;
i : Integer;
NetworkCards : String;
begin
result := false;
reg := TRegistry.Create(KEY_READ);
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.KeyExists('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\' +inttostr(AdapterNr)) = true then
begin
reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\' +inttostr(AdapterNr),false);
NetworkCards := reg.ReadString('ServiceName');
// break;
if NetworkCards <> '' then
begin
reg.OpenKey('\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\'+NetworkCards,false);
if reg.ValueExists('DHCPRetryStatus') then
begin
result := true;
end;
end;
end;
reg.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
AdptNr : Integer;
begin
for AdptNr := 0 to 5 do
begin
if networkconnect(AdptNr) = true
then showmessage('Netwerkkarte Nr.: '+ IntToStr(AdptNr) + ' hat Kontakt :)')
else showmessage('Netwerkkarte Nr.: '+ IntToStr(AdptNr) + ' ist entfernt :(');
end;
end;
sollte auf allen XP laufen