AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MAC ermitteln

Ein Thema von Masterof · begonnen am 23. Mai 2004 · letzter Beitrag vom 23. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Masterof

Registriert seit: 12. Feb 2004
Ort: Bad Elster
142 Beiträge
 
Delphi 7 Enterprise
 
#1

MAC ermitteln

  Alt 23. Mai 2004, 12:42
Hallo!!

Wie ermittele ich am besten die Mac-Adresse eines Rechners?
Oder bzw welche Dll muss ich ensprechen?

MfG Master
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#2

Re: MAC ermitteln

  Alt 23. Mai 2004, 12:47
Bemüh mal die Suche in der Hier im Forum suchenMAC Adresse ermitteln und schau Dir meinen oder Sakuras Beitrag zur Code Library an.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: MAC ermitteln

  Alt 23. Mai 2004, 12:48
Hai Masterof,

die Foren-Suche hat mir z.B. diesen Beitrag in der Code-Library gezeigt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Masterof

Registriert seit: 12. Feb 2004
Ort: Bad Elster
142 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: MAC ermitteln

  Alt 23. Mai 2004, 12:55
Hallo!!

Ich habe in meinen Büchern nochmal geschaut, und bin auf dieses gestossen. Das ist etwas einfacher.

Source:
Delphi-Quellcode:
Type
  TGUID = Record
   a ,b, d, m, s : word;
   Mac : Array[1..16] of byte;
end;

function CoCreateGuid(var GUID : TGUID): HResult; stdcall;
far external 'OLE32.dll';

function GetMacAdress : string;
var g: TGUID;
    i: integer;
begin
CocreateGuid(g);
result := '';
for i:= 1 to 6 do
Result := Result + IntToHex(g.Mac[i], 2) + '-';
Result[length(result)] := #0;
end;




procedure Tfrmmain.btmacClick(Sender: TObject);
begin
lblmac.Caption:= GetMacAdress;
end;

Danke!

MfG Masterof

[edit=Sharky]Delphi-Tags gesetzt. Bitte beim nächsten mal selber machen Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#5

Re: MAC ermitteln

  Alt 23. Mai 2004, 13:10
Das hat nur den Nachteil, das das Errgebnis nicht mehr stimmt, wenn der Rechner mehrere Netzwerkkarten oder keine hat. Bei keiner wird der Wert der da rauskommt halt irgendwie Berechnet und wenn man mehrere hat kommt da auch nix Sinnvolles bei raus, weil alle Adressen irgendwie zusammengeschustert werden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 30. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#6

Re: MAC ermitteln

  Alt 23. Mai 2004, 13:24
Damit ermittelst du aber nicht die Mac-Adresse eines Netzwerkadapters
mit CoCreateGUID erzeugst du siehe SDK
Zitat von SDK:
CoCreateGuid
------------
Creates a GUID, a unique 128-bit integer used for CLSIDs and interface identifiers.
------------
The CoCreateGuid function calls UuidCreate (documented in the RPC Programmer's Guide and Reference), which creates a GUID, a globally unique 128-bit integer used for CLSIDs and interface IDs. To a very high degree of certainty, this function returns a unique value - no other invocation, on the same or any other system (networked or not) should return the same value.
zudem ist mir aufgefallen, das bei Mehrmaligem Aufruf dieser Funktion das höchstwertige Byte inkrementiert wird, was somit nicht der MAC entsprechen kann
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#7

Re: MAC ermitteln

  Alt 23. Mai 2004, 13:41
Die MAC(s), sofern vorhanden, werden da nur mit reingerechnet. Und wenn man nicht die ganze GUID nimmt sondern nur den MAC-Teil hat man in 99% aller Fälle glück und erwischt tatsächlich die eigene MAC, sofern man nur eine Karte im System betreibt.

Wie gesagt: Der Weg über die WMI ist sicherer. Damit bekommt man zu 100% die Info, ob man eine Netzwerkkarte hat und weren MAC's - und kann die sogar den einzelnen Interfaces korrekt zuordnen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.106 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: MAC ermitteln

  Alt 23. Mai 2004, 13:57
Moin Phoenix,

Zitat von Phoenix:
...sondern nur den MAC-Teil hat man in 99% aller Fälle glück und erwischt tatsächlich die eigene MAC...
welchen MAC-Teil?

Die Funktion CoCreateGuid liefert ja einen Global Unique Identifier zurück, der unabhängig davon ist ob überhaupt eine Netzwerkkarte im Rechner steckt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#9

Re: MAC ermitteln

  Alt 23. Mai 2004, 15:04
Ein Teil des GUID ist die MAC-Adresse (sofern genau eine Karte vorhanden ist).
Aber wie gesagt: Das ist so ziemlich alles ausser zuverlässig.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.106 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: MAC ermitteln

  Alt 23. Mai 2004, 15:36
Moin Phoenix,

und welcher Teil der GUID soll das sein?
Ich habe genau eine Netzwerkkarte im Rechner und erhalte keine GUID, die auch nur Teile der MAC-Adresse enthält.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:05 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