Delphi取得網絡卡MAC位址

2021-04-01 21:53:21 字數 1130 閱讀 9482

uses nb30;//一定要加入

function getphysicaladdress: string;

varncb : tncb;

adapter : tadapterstatus;

lanaenum : tlanaenum;

intidx : integer;

re : char;

buf : string;

begin

tryzeromemory(@ncb, sizeof(ncb));

ncb.ncb_command := chr(ncbreset);

ncb.ncb_lana_num := lanaenum.lana[0];

re := netbios(@ncb);

if ord(re)<>0 then

begin

result := '';

exit;

end;

zeromemory(@ncb, sizeof(ncb));

ncb.ncb_command := chr(ncbastat);

ncb.ncb_lana_num := lanaenum.lana[0];

strpcopy(ncb.ncb_callname, '*');

ncb.ncb_buffer := @adapter.adapter_address[0];

ncb.ncb_length := sizeof(adapter);

re := netbios(@ncb);

if ord(re)<>0 then

exit;

buf := '';

for intidx := 0 to 5 do

buf := buf + inttohex(integer(adapter.adapter_address[intidx]),2)+'-';

result := copy(buf,0,length(buf)-1);

finally

//end;

end;

使用procedure tform1.button1click(sender: tobject);

begin

edit1.text :=getphysicaladdress;

end;

取得系統中網絡卡MAC位址方法一

第一種方法使用microsoft的 bios api。這是一套通過winsock提供底層網路支援的命令。使用 bios的最大缺點是您必須在系統中安裝了 bios服務 如果您在windows網路中啟用了檔案共享的話,這就不是問題了 除此此外,這種方法又快又準確。bios api只包括了乙個函式,就叫做...

C 擷取DOS命令輸出流取得網絡卡MAC位址

大家都知道網絡卡的mac位址可以從dos視窗中通過輸入 ipconfig all 命令執行結果獲得,那麼這個問題的具體內容是 在c 中執行乙個dos命令,並擷取相關輸出 輸出流。具體 如下 c code tbresult.text processstartinfo start new process...

C 擷取DOS命令輸出流取得網絡卡MAC位址

大家都知道網絡卡的mac位址可以從dos視窗中通過輸入 ipconfig all 命令執行結果獲得,那麼這個問題的具體內容是 在c 中執行乙個dos命令,並擷取相關輸出 輸出流。具體 如下 c code tbresult.text processstartinfo start new process...