获取本机MAC地址

需添加引用:System.Management.dll

 


        
/// <summary>
        
/// 获取本机第一个索引的网卡MAC
        
/// </summary>
        
/// <returns></returns>
        public string GetMacAddress()
        {
            
string mac = "";
            System.Management.ManagementClass mc;
            mc 
= new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection moc 
= mc.GetInstances();
            
foreach (System.Management.ManagementObject mo in moc)
            {
                
//可以使用 mo.GetText(System.Management.TextFormat.Mof); 获取所有值

                
if (mo["IPEnabled"].ToString().Equals("True"))
                {
                    
////IPSubnet = "255.255.255.255",可能为拨号连接(MAC一般为:00-53-45-00-00-00)
                    if (mo["IPSubnet"!= null)
                    {
                        
//记录是否为无效地址
                        bool isInvalid = false;

                        
string[] ipSubnets = (string[])mo["IPSubnet"];
                        
foreach (string ipSubnet in ipSubnets)
                        {
                            
if (ipSubnet.Equals("255.255.255.255"))
                            {
                                isInvalid 
= true;
                                
break;
                            }
                        }

                        
if (!isInvalid)
                        {
                            
//获取第一个MAC
                            mac = mo["MacAddress"].ToString();
                            
break;
                        }
                    }                    
                }
            }

            
return mac;
        }

 

 

posted on 2010-01-29 01:06  迷你软件  阅读(732)  评论(3编辑  收藏  举报

本网站绝大部分资源来源于Internet,本站所有作品版权归原创作者所有!!如有以下内容:章节错误、非法内容、作者署名出错、版权疑问、作品内容有违相关法律等请及时与我联系. 我将在第一时间做出响应!本站所有文章观点不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。