function GetMacAddress(index:integer):string;
var
ncb : TNCB; {NetBios控制塊}
AdapterS : TAdapterStatus; {網卡狀態結構}
LanaNum : TLanaeNum; {Netbios Lana}
i : integer;
rc : Char; {NetBios的返回代碼}
str : String;
begin
Result := '';
try
ZeroMemory(@ncb, SizeOf(ncb)); {NetBios控制塊清零}
ncb.ncb_command := chr(NCBENUM); {ENUM}
rc := NetBios(@ncb); {取返回代碼}ios
ncb.ncb_buffer := @LanaNum; {再一次處理ENUM命令}
ncb.ncb_length := Sizeof(LanaNum);
rc := NetBios(@ncb); {取返回代碼}字符串
if ord(rc)<>0 then exit; string
ZeroMemory(@ncb, Sizeof(ncb)); {NetBios控制塊清零}
ncb.ncb_command := chr(NCBRESET);
ncb.ncb_lana_num := LanaNum.lana[index];
rc := NetBios(@ncb);
if ord(rc)<>0 then exit;
ZeroMemory(@ncb, Sizeof(ncb)); {取網卡的狀態}
ncb.ncb_command := chr(NCBASTAT);
ncb.ncb_lana_num := LanaNum.lana[index];
StrPCopy(ncb.ncb_callname,'*');
ncb.ncb_buffer := @AdapterS;
ncb.ncb_length := SizeOf(AdapterS);
rc := NetBios(@ncb);
str := ''; {將MAC地址轉換成字符串}
for i:=0 to 5 do
str := str + IntToHex(Integer(AdapterS.adapter_address[i]),2);
Result := str;
finally
end;
end;it