AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Feststellen, ob Netzwerkkabel gezogen wurde?
Thema durchsuchen
Ansicht
Themen-Optionen

Feststellen, ob Netzwerkkabel gezogen wurde?

Ein Thema von raffix · begonnen am 24. Mär 2003 · letzter Beitrag vom 2. Jun 2008
 
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#39

Re: Feststellen, ob Netzwerkkabel gezogen wurde?

  Alt 2. Jun 2008, 10:57
Habe jetzt folgenden optimierten Quellcode der mir anzeigt ob sämtliche Netzwerkadapter im System verbunden sind oder nicht.

Genutzt wird ja WMI (MSNdis_MediaConnectStatus). Ich möchte allerdings nur einen der Netzwerkadapter überprüfen. Wie schaffe ich es gezielt diesen einen zu überprüfen und die anderen zu ignorieren? Letztendlich soll nur der LAN-Adapter überprüft werden udn WLAN, WAN & Co ignoriert werden.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
wmi : OleVariant;
wmiService : variant;
nicstatus : Olevariant;
card : Olevariant;
cnt : integer;
Enum: IEnumVariant;
P : IUnknown;
F : Cardinal;
connected : integer;
status : string;

begin
  Listbox1.Items.BeginUpdate;
  try
  ListBox1.clear;
  WMI:=CreateOleObject('WbemScripting.SWbemLocator');
  try
    wmiService := wmi.ConnectServer('.', 'root\wmi');
    nicstatus := wmiService.InstancesOf('MSNdis_MediaConnectStatus');
    try
      p := nicstatus._NewEnum;
      p.QueryInterface(IEnumVariant, Enum);
      for cnt := 0 to nicstatus.Count - 1 do
       begin
         Enum.Next(1, card, F);
         try
           connected := card.NdisMediaConnectStatus;
           if (connected = 0) then
              begin
                Status := 'verbunden';
              end
           else
              begin
                Status := 'nicht verbunden';
              end;
           ListBox1.Items.Add( card.InstanceName + ' : ' + status);
         finally
           card := unassigned;
         end;
       end;
    finally
      nicstatus := unassigned;
    end;
  finally
    wmi := unassigned;
  end;
  finally
    Listbox1.Items.EndUpdate;
  end;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz