Einzelnen Beitrag anzeigen

MexDelphi

Registriert seit: 5. Jun 2005
Ort: Göppingen
2 Beiträge
 
#88

Re: Feststellen, ob Netzwerkkabel gezogen wurde?

  Alt 16. Jun 2005, 12:05
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
  Mit Zitat antworten Zitat