Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   MAC-Adresse (https://www.delphipraxis.net/56006-mac-adresse.html)

Jordan 30. Okt 2005 11:51


MAC-Adresse
 
Hallo leute,

Ich hab mal ne frage.
Kann mir mal einer sagen wie ich die Netzwerkkarten auslesen kann ?? Also so das er mir die karten anzeigt, die im PC eingebaut sind (z.B in einer ComboBox). Und wie kann ich zu jeder Karte, die er mir anzeigt, die Information, wie z.B. IP, Mac-adresse in ein Memo anzeigt.

Wäre echt toll, wenn mir da jemand hilft. Ich weis, ist vielleicht ein wenig zuviel fürs erste, aber wäre echt nett.

PS: Wenn es mit der Version die ich habe nicht geht, dann könnt ihr mir ja nen link gegen, wo ich ne aktuelle verion downloaden kann (Kostenfrei wäre gut XD)

Danke im vorraus

MfG
Jordan

SirThornberry 30. Okt 2005 11:54

Re: MAC-Adresse
 
die Mac-Adressen bekommst du mit folgenden beiden funktionen:
Delphi-Quellcode:
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;

EDatabaseError 30. Okt 2005 11:55

Re: MAC-Adresse
 
Erste Anlaufstelle
GOOGLE

Jordan 30. Okt 2005 12:06

Re: MAC-Adresse
 
Hallo SirThornberry

er zeigt mir das als fehler an:
Undeclared identifier: 'TLanaEnum'
Undeclared identifier: 'TNCB'

Wie kann ich es beheben ??

Vielleicht geht es ja nicht mit Delphi6

MfG
Jordan

SirThornberry 30. Okt 2005 12:08

Re: MAC-Adresse
 
du musst in den uses die unit "nb30" hinzufügen

Jordan 30. Okt 2005 12:11

Re: MAC-Adresse
 
Danke, es geht

aber jetzt ist wieder neue fehlermeldung
Undeclared identifier: 'GetAdapterInfo'

Wie behebe ich das ??

MfG
Jordan

core 30. Okt 2005 13:43

Re: MAC-Adresse
 
Versuchs mal hiemit:

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 :=
    Format('%X', [Byte(Adapter.adapter_address[0])]) + '-' +
  Format('%X', [Byte(Adapter.adapter_address[1])]) + '-' +
  Format('%X', [Byte(Adapter.adapter_address[2])]) + '-' +
  Format('%X', [Byte(Adapter.adapter_address[3])]) + '-' +
  Format('%X', [Byte(Adapter.adapter_address[4])]) + '-' +
  Format('%X', [Byte(Adapter.adapter_address[5])]);
end;

function GetMACAddress: string;
var
  AdapterList: TLanaEnum;
  NCB: TNCB;
begin
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBENUM);
  NCB.ncb_buffer := @AdapterList;
  NCB.ncb_length := SizeOf(AdapterList);
  Netbios(@NCB);
  if Byte(AdapterList.length) > 0 then
    Result := GetAdapterInfo(AdapterList.lana[0])
  else
    Result := 'mac not found';
end;
Das ganze ist aus Luckies NetWorkInfo (Link) Quelltext!!

Jordan 30. Okt 2005 15:04

Re: MAC-Adresse
 
Danke dir

Das hilft mir weiter :)

MfG
Jordan


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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