Miren encontre un link donde esxplica como obtener la direccion mac
espero les sirva
Aclaro
Lo encontre en una pagina de internet.
Pascal and Delphi Code Snippet
- 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 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;
- // usage
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- ShowMessage(GetMACAddress);
- end;