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

📄 请问应如何通过程序获得本机的mac地址? (2000年7.txt

📁 自己对DELPHI学习的一点体会
💻 TXT
字号:
请问应如何通过程序获得本机的MAC地址? (2000年7月22日) 

本站更新  分类:   作者:大富翁论坛  推荐:   阅读次数:758  
(http://www.codesky.net)  

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



--------------------------------------------------------------------------------
来自:fireboy 时间:00-6-28 23:05:07 ID:273284 
我现在希望通过程序获得本机的MAC地址,不知该怎末做,请大家帮忙了。



--------------------------------------------------------------------------------
来自:LawrenceZhang 时间:00-6-29 7:28:43 ID:273401 
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 + -