using System.Management;/// <summary>/// 得到MAC地址/// </summary>/// <returns>返回网卡的MAC地址</returns>public string GetMAC(){ try { string mac = null; //查询所有网卡的信息 ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT FROM Win32_NetworkAdapterConfiguration"); ManagementObjectCollection queryCollection = query.Get(); //遍历网卡信息 foreach (ManagementObject mo in queryCollection) { //如果该网卡是启用状态 if (mo["IPEnabled"].ToString() == "True") { //得到该网卡的MAC地址 mac = mo["MacAddress"].ToString(); //这里我得到一个就退出了 break; } } return (mac); } catch (Exception ErrMsg) { //这是我自己的一个处理类, Error((int)FunctionNames.HardWare__NetCard__GetMAC, ErrMsg.ToString()); return ErrMsg.ToString(); }}
把稳要先引用System.Management.dll文件。
我的例子是得到一个网卡的地址,大家可以自己去处理那个循环,如果有多个可以放在数组中