Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses
- NB30;
- function GetMACAddress: string;
- function GetAdapterInfo(Lana: AnsiChar): 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;
- 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;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement