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
 
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#11
  Alt 14. Jun 2005, 18:01
Zitat von justify:
Guten Abend allerseits!

Nun habe ich mal beide Varianten ausprobiert - sowohl die lange von toyoman, als auch den Dreizeiler, der am Anfang gepostet wurde.

Allerdings habe ich folgendes Problem: toyoman's Variante läuft nur unter NT, der Dreizeiler nur unter XP!

Was nun? Eine Möglichkeit wäre ja festzustellen, welches OS gerade benutzt wird, aber das ist alles ziemlich umständlich.

Gibt's eventuell einen Befehl, mit dem man kurz und knapp abfragen kann, ob man mit dem LAN verbunden ist oder nicht?

Ich meine, um festzustellen, ob man mit dem Internet verbunden ist, geht's auch schnell mit 'nem Befehl, der mir gerade nicht einfällt, aber funktioniert.

Naja, wäre nett, wenn Ihr mal paar Tipps geben könntet.

Schönen Abend noch!

hey, die variante war nicht von mir sondern von djmasi...

ich benütze in meinen Service diese Funktion (auch irgendwo hier aus dem Forum, bisschen modifiziert):

Delphi-Quellcode:
function NetworkConnect : Boolean;
var
  reg : TRegistry;
  i : Integer;
  NetworkCards : String;
begin
  result := false;
  reg := TRegistry.Create(KEY_READ);
  reg.RootKey := HKEY_LOCAL_MACHINE;
  for i := 0 to 15 do //Mehr als 15 Netzwerkkarten sollte kein normaler Rechner haben...
  begin
    if reg.KeyExists('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\' +inttostr(i)) = true then
    begin
      logfileschreiben('----------------------------------------------------------------------------------------');
      reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\' +inttostr(i),false);
      NetworkCards := reg.ReadString('ServiceName');
      logfileschreiben('Networkcard ID: '+Networkcards);
      logfileschreiben('Networkcard description: '+reg.readstring('Description'));
     // break;
      if NetworkCards <> 'then
      begin
        reg.OpenKey('\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\'+NetworkCards,false);
        logfileschreiben('DHCP Domain: '+reg.readstring('DhcpDomain'));
        logfileschreiben('DHCP IP: '+reg.readstring('DhcpIPAddress'));
        logfileschreiben('----------------------------------------------------------------------------------------');
        if reg.ReadString('DHCPDomain') <> 'then
        begin
            result := true
        end else
        begin
            result := false;
        end;
      end;
    end;
  end;
  reg.Free;
end;
logfileschreiben ist eine Extra-Prozedur.

Aufruf:

Delphi-Quellcode:
if networkconnect=true then
   begin
      logfileschreiben('Networkcard: Network cable plugged in.');
      winipath:=vpnfile; // Konfigurationsfile
      logfileschreiben('Using network version of VPN.ini: '+winipath);
   end else
   begin
      logfileschreiben('Networkcard: Network cable unplugged!');
      winipath:=getpath+'vpn.ini';
      logfileschreiben('Network not reachable, Using local VPN.ini file: '+winipath);
   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 22:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz