delphi 编程技巧

源代码在线查看: 通过程序获得本机的mac地址 (2001年5月11日).txt

软件大小: 774 K
上传用户: zyhunicom
关键词: delphi 编程技巧
下载地址: 免注册下载 普通下载 VIP

相关代码

				通过程序获得本机的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. 
				
				
				 
				 
							

相关资源