AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi MAC Adresse aller Netzwerk Karten ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

MAC Adresse aller Netzwerk Karten ermitteln

Ein Thema von renekr · begonnen am 22. Mär 2006 · letzter Beitrag vom 27. Apr 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

MAC Adresse aller Netzwerk Karten ermitteln

  Alt 22. Mär 2006, 12:20
Hi,
Ich weiß zwar das dasThema MAC Adressen schon oft in der DP erwähnt worden ist,aber ich habe noch niergends etwas passendes gefunden wo mir die Mac Adressen genau ausliest wenn mehrere Karten eingebaut sind.

Habe dann keinen Bezug zum Name oder zur IP.
Hat da jemand was n Peto?

Danke.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 22. Mär 2006, 12:23
In der movisuellen JCL ( Jedi Component Library) gibt es eine Unit JclSysInfo. Darin ist eine Funktion  GetMacAddresses .
Markus Kinzler
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 22. Mär 2006, 12:29
hier ist es auch beschrieben
-> http://www.infojet.cz/program/delphi/tips/tip0023.html

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 22. Mär 2006, 20:49
Moin Rene,

Du kannst auch mal nach Hier im Forum suchenGetAdaptersInfo bzw. Hier im Forum suchenGetPerAdapterInfo suchen.
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 SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 22. Mär 2006, 21:57
ich benutze dafür folgende funktionen:
Delphi-Quellcode:
uses
  [...], nb30, [...]

function GetAdapterInfo(Lana: Char): String;
var
  Adapter: TAdapterStatus;
  NCB: TNCB;
begin
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBRESET);
  NCB.ncb_lana_num := Lana;
  if Netbios(@NCB) <> Char(NRC_GOODRET) then
  begin
    Result := 'mac not found';
    Exit;
  end;

  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBASTAT);
  NCB.ncb_lana_num := Lana;
  NCB.ncb_callname := '*';

  FillChar(Adapter, SizeOf(Adapter), 0);
  NCB.ncb_buffer := @Adapter;
  NCB.ncb_length := SizeOf(Adapter);
  if Netbios(@NCB) <> Char(NRC_GOODRET) then
  begin
    Result := 'mac not found';
    Exit;
  end;
  Result :=
    IntToHex(Byte(Adapter.adapter_address[0]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[1]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[2]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[3]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[4]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[5]), 2);
end;

{==============================================================================}

function GetMacAddressCount: Byte;
var AdapterList: ^TLanaEnum;
    NCB: TNCB;
begin
  new(AdapterList);
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBENUM);
  NCB.ncb_buffer := PChar(AdapterList);
  NCB.ncb_length := SizeOf(AdapterList^);
  Netbios(@NCB);
  Result := Byte(AdapterList.length);
  dispose(AdapterList);
end;

function GetMACAddress(ANewworkcardIndex: Byte = 0): string;
var AdapterList: TLanaEnum;
  NCB: TNCB;
begin
  FillChar(NCB, SizeOf(NCB), 0);
  AdapterList.length := char(0);
  NCB.ncb_command := Char(NCBENUM);
  NCB.ncb_buffer := @AdapterList;
  NCB.ncb_length := SizeOf(AdapterList);
  Netbios(@NCB);
  if Byte(AdapterList.length) > ANewworkcardIndex then
    Result := GetAdapterInfo(AdapterList.lana[ANewworkcardIndex])
  else
    Result := 'mac not found';
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#6

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 23. Mär 2006, 05:22
Hallo,

was ist das?
Zitat:
movisuellen JCL
Hallo Thornberry,
es wäre nett wenn du die uses .... Zeile mitkopieren könntest.

Danke Rainer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 23. Mär 2006, 05:43
Zitat:
was ist das?
Zitat:
movisuellen JCL
DIE Jcl besteht zum Unterschied zur JVCL nnicht aus installierbaren Komponenten, sondern nur aus Hilfsklassen oder -Proceduren/-Funktionen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 23. Mär 2006, 06:03
@runger: Hab die Uses ergänzt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 23. Mär 2006, 08:35
Hi,
vielen Dank.
Aber ich glaube ich stelle mich grad ein bisschen dumm an.
function GetMacAddresses(const Machine: string; const Addresses: TStrings): Integer; Wie rufe ich die auf.
Ich will im Prinzip für jeden Lan Adapter die MAc Adresse und ev sogar die IP dazu. ( ev. noch die Bezeichnung )


Danke.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: MAC Adresse aller Netzwerk Karten ermitteln

  Alt 23. Mär 2006, 08:39
Delphi-Quellcode:
var
    macs: TString;
    IPAdr: String;
...
  macs := TStringList.Create;
  GetMacAddresses( GetLocalComputerName, macs);
  IPAdr := GetIPAddress( GetLocalComputerName);
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 12:31 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