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...