⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 通过程序获得本机的mac地址 (2001年5月11日).txt

📁 delphi 编程技巧
💻 TXT
字号:
通过程序获得本机的MAC地址 (2001年5月11日) 

网友更新  分类:Internet   作者: cherish(推荐)  推荐:cherish   阅读次数:222  
(http://www.codesky.net)  

--------------------------------------------------------------------------------


Function NBGetAdapterAddress(a:integer) : String; 
Implementation 

{$R *.DFM} 

Procedure TForm1.Button1Click(Sender : TObject); 
Begin 
label1.Caption:=NBGetAdapterAddress(StrtoInt(Edit1.Text)); 
End; 

Function NBGetAdapterAddress(a:Integer) : String; 
Var 

NCB : TNCB; // Netbios control block file://NetBios控制块 
ADAPTER : TADAPTERSTATUS; // Netbios adapter status//取网卡状态 
LANAENUM : TLANAENUM; // Netbios lana 
intIdx : Integer; // Temporary work value//临时变量 
cRC : Char; // Netbios return code//NetBios返回值 
strTemp : String; // Temporary string//临时变量 

Begin 
// Initialize 
Result := ''; 

Try 
// Zero control blocl 
ZeroMemory(@NCB, SizeOf(NCB)); 

// Issue enum command 
NCB.ncb_command := Chr(NCBENUM); 
cRC := NetBios(@NCB); 

// Reissue enum command 
NCB.ncb_buffer := @LANAENUM; 
NCB.ncb_length := SizeOf(LANAENUM); 
cRC := NetBios(@NCB); 
If Ord(cRC)<>0 Then 
exit; 

// Reset adapter 
ZeroMemory(@NCB, SizeOf(NCB)); 
NCB.ncb_command := Chr(NCBRESET); 
NCB.ncb_lana_num := LANAENUM.lana[a]; 
cRC := NetBios(@NCB); 
If Ord(cRC)<>0 Then 
exit; 

// Get adapter address 
ZeroMemory(@NCB, SizeOf(NCB)); 
NCB.ncb_command := Chr(NCBASTAT); 
NCB.ncb_lana_num := LANAENUM.lana[a]; 
StrPCopy(NCB.ncb_callname, '*'); 
NCB.ncb_buffer := @ADAPTER; 
NCB.ncb_length := SizeOf(ADAPTER); 
cRC := NetBios(@NCB); 

// Convert it to string 
strTemp := ''; 
For intIdx := 0 To 5 Do 
strTemp := strTemp + InttoHex(Integer(ADAPTER.adapter_address[in 
tIdx]),2); 
Result := strTemp; 
Finally 
End; 
End; 


End. 


 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -