Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Einzelne MAC-Adressen auslesen (https://www.delphipraxis.net/90332-einzelne-mac-adressen-auslesen.html)

RWarnecke 15. Apr 2007 16:24


Einzelne MAC-Adressen auslesen
 
Hallo,

ich lese die einzelnen Infos zu den Netzwerkadapter mit einer Funktions aus, basierend auf dem Sourcecode aus diesem Beitrag. Ich habe auch schon die verschiedenen Beispiele durchforstet um eine MAC-Adresse auszulesen. Nur sehe ich im Moment keine Möglichkeit die MAC-Adresse von einer bestimmten Netzwerkkarte auszulesen, sei es über den Index oder über die Beschreibung.

Ich möchte wenn möglich kein WMI nutzen oder das Ergebnis eines ipconfig /all - Befehls parsen.

Wie kann ich das ganze realisieren ?

mkinzler 15. Apr 2007 16:30

Re: Einzelne MAC-Adressen auslesen
 
Schau dir mal die Unit JvSysUtils aud der JCL an.

CCRDude 15. Apr 2007 17:23

Re: Einzelne MAC-Adressen auslesen
 
Btw: es ist JclSysInfo, nicht JcSysUtils ;)

mkinzler 15. Apr 2007 17:35

Re: Einzelne MAC-Adressen auslesen
 
Zitat:

Zitat von CCRDude
Btw: es ist JclSysInfo, nicht JcSysUtils ;)

Natürlich.

RWarnecke 15. Apr 2007 19:27

Re: Einzelne MAC-Adressen auslesen
 
Ich habe mir mal die Unit angeschaut. Aber es ist doch das gleiche, welches ich hier im Forum finde oder bei den Schweizern finde. Ich kann aber nicht sagen, dass ich nur die MAC-Adresse von meiner LAN-Verbindung 2 haben möchte und nicht die MAC-Adressen von meinen virtuellen Netzwerkkarten von VMWare.

Woran kann ich jetzt in dieser Procedure erkennen, von welcher Netzwerkkarte (LAN-Verbindung) die MAC-Adresse ausgelesen wird ?

CCRDude 15. Apr 2007 19:36

Re: Einzelne MAC-Adressen auslesen
 
Na aber diese Routinen sind so ziemlich das sauberste, was mir bisher untergekommen ist. Wir wärs, wenn Du einfach mal in den Code reinschaust? Dort findest Du in AStat alles benötigte.

Natürlich kannst du nicht einfach sagen "ich will nur meine", woher soll irgend ein Code bitte wissen, welche Du willst? Gegenüber Windows sind schließlich alle "gleichberechtigt". Und über die Beschreibung kannst Du es mit diesem Code tun - wenn Du Dir die Mühe gibst, diese paar Zeilen zu verstehen :)

RWarnecke 15. Apr 2007 19:53

Re: Einzelne MAC-Adressen auslesen
 
Erstmal, ich schaue mir schon den Sourcecode an. Nur wenn ich den Sourcecode nicht verstehe, kann ich ja nachfragen, wie ich mein Vorhaben realisieren kann. Ich weiß, dass jede Netzwerkkarte eine Indexnummer hat. Diese Nummer wird auf einem Rechner nicht zweimal vergeben. So glaube ich zumindest. Diese Indexnummer zu meiner Netzwerkkarte kann ich bestimmen. Nun möchte ich anhand dieser Indexnummer die MAC-Adresse auslesen und das schaffe ich nicht.
Wenn mein Weg über die Indexnummer falsch sein sollte, dann zeigt mir bitte einen anderen Weg.

Und nochmal, ich bekomme weiterhin immer alle drei MAC-Adressen von meinen Netzwerkkarten angezeigt und kann diese nicht selektieren.

CCRDude 15. Apr 2007 20:22

Re: Einzelne MAC-Adressen auslesen
 
Du schriebst nur eingangs "sei es über den Index oder über die Beschreibung.", und das AStat-record enthält einen sehr bezeichnenes Array namens NameBuff... tschuldigung, vielleicht war das für mich beim Überfliegen auch nur so offensichtlich, weil ich den Code schon kannte und ich, sobald ich ne Variable für Namen sehe, dort zuerstmal nen Breakpoint gesetzt und reingeschaut hätte ;)

Also nochmal als etwas konkreterer Tipp:
1. Schau nach, wo dort in GetMacAddressesNetBios die "Ausgabe" getätigt wird, also das "Addresses.Add".
2. Identifiziere, woher die Information kommt, hier die Variable Adapter vom Typ AStat.
3. Schau Dir den Typ AStat an, der enthält einen NameBuff.

Evtl. kannst Du ja damit eine Bedingung für die Beschreibung mit in die Abfrage eine Zeile über der aus 1 einbauen :)

RWarnecke 15. Apr 2007 22:07

Re: Einzelne MAC-Adressen auslesen
 
Ich habe jetzt das Problem gelöst. Die MAC-Adressen aus der StringList werden umgekehrt aufgelistet gegenüber der Netzwerkkartenliste aus der Funktion. somit drehe ich die Stringlist einfach rum. Damit habe ich auch meinen gewünschten Effekt.

RWarnecke 17. Apr 2007 14:10

Re: Einzelne MAC-Adressen auslesen
 
Ich habe aber nun ein Problem, wenn eine Netzwerkkarte keinen Connect hat, dann wird auch keine MAC-Adresse ausgelesen. Wie kann ich das jetzt noch abfangen ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz