AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Den Namen der Netzwerkverbindung ermitteln (W2K)

Den Namen der Netzwerkverbindung ermitteln (W2K)

Ein Thema von RWarnecke · begonnen am 27. Jan 2008 · letzter Beitrag vom 14. Mär 2008
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 27. Jan 2008, 12:22
Hi DP'ler,

ich lesen den Namen der Netzwerkverbindung (z.B. LAN-Verbindung) unter Windows XP oder VISTA mit MSDN-Library durchsuchenGetAdapterAddresses das funktioniert auch ganz wunderbar. Nur ist diese Funktion nicht für Windows 2000 geeignet. Für Windows 2000 nutze ich MSDN-Library durchsuchenGetAdaptersInfo und MSDN-Library durchsuchenGetNetworkParams um weitesgehend an die Informationen heranzukommen wie mit GetAdapterAddresses.

Mir fehlt jetzt nur noch der Namen der Netzwerkwerkverbindung (z.B. LAN-Verbindung), wie kann ich den unter Windows 2000 ermitteln ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Den Namen der Netzwerkverbindung ermitteln (W2K) / XP

  Alt 13. Mär 2008, 15:26
Ich suche ebenfalls nach einer Lösung wie ich die Namen der Netzwerkverbindungen auslesen kann, hat da jemand eine Idee? Habe schon IPHelper und alles versucht, aber bin bisher nirgends fündig geworden.

Ich habe in einem anderen Thread schon nach einer Lösung gesucht wie ich die IP Adresse einer Netzerkkarte umsetzen kann. Das habe ich jetz mit "netsh" hinbekommen. Damit das richtig funktioniert muss ich aber die Namen der Netzwerkverbindungen herausbekommen.

Ich brauche also nicht den herstellernamen der Karte sondern den Namen z.B. "LAN-Verbindung" den man dem Adapter in der Netzwerkeinstellungen setzen kann. Danke für jeden Tip.
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 13. Mär 2008, 19:01
Hi,

ich habe das mittlerweile über die Registry gelöst. Schaue Dich mal bei diesen beiden Key's unter HKLM um :

HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D3 6E972-E325-11CE-BFC1-08002BE10318}
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E 972-E325-11CE-BFC1-08002BE10318}

Du brauchst dazu den Adapternamen, den Du über MSDN-Library durchsuchenIP_ADAPTER_INFO und MSDN-Library durchsuchenGetAdaptersInfo ermitteln kannst. Das wende ich bei meinem SystemInfo Programm an. (Link in Signatur) Damit kannste ja vorher testen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 13. Mär 2008, 21:02
Hi,

danke für die Info, habe mit dein Programm einmal heruntergeladen. Wird der Name der Netzwerkverbindung da auch irgendwo angezeigt? Habe im Reiter Netzwerk geschaut, aber dort nur die Namen der Netzwerkkarte gefunden (also z.B. Intel Wireless Pro...) nur den Text "Drahtlose Netzwerkverbindung" bräuchte ich ja für den Befehl netsh
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 13. Mär 2008, 21:08
Zitat von Surrounder:
Hi,

danke für die Info, habe mit dein Programm einmal heruntergeladen. Wird der Name der Netzwerkverbindung da auch irgendwo angezeigt? Habe im Reiter Netzwerk geschaut, aber dort nur die Namen der Netzwerkkarte gefunden (also z.B. Intel Wireless Pro...) nur den Text "Drahtlose Netzwerkverbindung" bräuchte ich ja für den Befehl netsh
Stimmt, ich dachte ich hatte es schon eingebaut. Danke für den Hinweis.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 14. Mär 2008, 13:11
also ich habe das aus meinem erstellten Code jetzt mal wieder entnommen und ein paar Dinge musste ich einflicken damit es läuft, aber ich dachte ich poste das mal wie ich das jetzt vom Prinzip her gemacht habe da hier im Forum schon mehrfach danach gefragt wurde und ich selber nirgends eine direkt funktionierende Lösung gefunden habe

Delphi-Quellcode:
procedure TForm1.ReadRegistryKeys();
var
   Reg: TRegistry;
   s, key1, key2: String;
   s1, s2, nwv : TStrings;
   i, n, j : Integer;
begin
   Reg := TRegistry.Create;
   s1 := TStringList.Create;
   s2 := TStringList.Create;
   nwv := TStringList.Create;
   try
      Reg.RootKey := HKEY_LOCAL_MACHINE;
      key1 := 'SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}';
      Reg.OpenKey( key1, False );
      Reg.GetKeyNames( s1 );
      n := s1.count;
      for i := 0 to n - 1 do begin
         s := s1[i];
         if s[1] = '{then begin
            key2 := key1 + '\' + s1[i];
            Reg.CloseKey;
            Reg.OpenKey( key2, False );
            s2.Clear;
            Reg.GetKeyNames( s2 );
            for j := 0 to s2.Count - 1 do begin
               if s2[j] = 'Connectionthen begin
                  key2 := key2 + '\' + s2[j];
                  Reg.CloseKey;
                  Reg.OpenKey( key2, False );
                  nwv.Add( Reg.ReadString('Name') );
               end;
            end;
         end;
      end;
      Reg.CloseKey;
   finally
      Reg.Free;
   end;
   s1.Free;
   s2.Free;
end;
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 14. Mär 2008, 15:07
Frage, warum gehst Du nicht über den Adapternamen ? Dann brauchst Du nicht alle Unterschlüssel durchzugehen. Der Adaptername ist eindeutig. Da ich gerade auf Arbeit bin, werde ich heute Abend mal ein Beispiel dazu hierhin posten.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 14. Mär 2008, 21:03
Wie meinst Du das mit über den Adapternamen gehen? Meinst Du zum Suchen des Namens der Netzwerkverbindung? Ich brauch den Namen der Nertzwerkverbindung ja um mit dem Befehl "netsh" die IP Adresse meiner Netzwerkkarte von dhcp auf eine feste Adresse zu ändern.

http://www.delphipraxis.net/internal...t.php?t=130365
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: Den Namen der Netzwerkverbindung ermitteln (W2K)

  Alt 14. Mär 2008, 21:38
Jeder Netzwerkadapter hat einen Adapternamen, den Du über GetAdaptersInfo auslesen kannst. Dieser ist eindeutig. Siehe mein Beispiel, so bekommst Du nur die Netzwerkkarten vom Type Ethernet. Bei Deiner Variante werden auch noch die PPP-Verbinungen mit ausgelesen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:45 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