获取网卡MAC地址(Delphi源码)获取网卡MAC地址(Delphi源码)
获取网卡MAC地址
//调用时先uses nb30.pas
function _NetCardAddress : String ;
var
NCB : TNCB ; // Netbios control block
ADAPTER : TADAPTERSTATUS ; // Netbios adapter status
LANAENUM : TLANAENUM ; // Netbios lana
intIdx : Integer ; // Temporary work v...
获取网卡MAC地址(Delphi源码)
获取网卡MAC地址
//调用时先uses nb30.pas
function _NetCardAddress : String ;
var
NCB : TNCB ; // Netbios control block
ADAPTER : TADAPTERSTATUS ; // Netbios adapter status
LANAENUM : TLANAENUM ; // Netbios lana
intIdx : Integer ; // Temporary work value
CRC : Char ; // Netbios return code
strTemp : String ; // Temporary string
begin
Result := '' ;
try
ZeroMemory(@NCB,SizeOf(NCB)) ; // Zero control blocl
NCB.ncb_command := Chr(NCBENUM) ; // Issue enum command
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end;
NCB.ncb_buffer := @LANAENUM ; // Reissue enum command
NCB.ncb_length := SizeOf(LANAENUM);
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end;
ZeroMemory(@NCB,SizeOf(NCB)) ; // Reset adapter
NCB.ncb_command := Chr(NCBRESET) ;
NCB.ncb_lana_num := LANAENUM.lana[0] ;
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end;
ZeroMemory(@NCB,SizeOf(NCB)) ; // Get adapter address
NCB.ncb_command := Chr(NCBASTAT) ;
NCB.ncb_lana_num := LANAENUM.lana[0] ;
StrPCopy(NCB.ncb_callname,'*') ;
NCB.ncb_buffer := @ADAPTER ;
NCB.ncb_length := SizeOf(ADAPTER) ;
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end; // Convert Netcard address it to string
strTemp := '' ;
for intIdx := 0 to 5 do strTemp := strTemp + _Char2Hex(ADAPTER.adapter_address[intIdx]) ;
Result := strTemp ;
finally
end ;
end ;
本文档为【获取网卡MAC地址(Delphi源码)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。