C#获取计算机的MAC地址“离线”

当c#中没有互联网连接时,有没有办法获取计算机的mac地址? 当我有连接时我能够得到但是当我离线时无法获得。 但我强烈要求我的工作使用mac地址。

我的在线代码;

var macAddr = (from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString()).FirstOrDefault(); 

来自WMI:

 public static string GetMACAddress1() { ManagementObjectSearcher objMOS = new ManagementObjectSearcher("Select * FROM Win32_NetworkAdapterConfiguration"); ManagementObjectCollection objMOC = objMOS.Get(); string macAddress = String.Empty; foreach (ManagementObject objMO in objMOC) { object tempMacAddrObj = objMO["MacAddress"]; if (tempMacAddrObj == null) //Skip objects without a MACAddress { continue; } if (macAddress == String.Empty) // only return MAC Address from first card that has a MAC Address { macAddress = tempMacAddrObj.ToString(); } objMO.Dispose(); } macAddress = macAddress.Replace(":", ""); return macAddress; } 

从System.Net命名空间:

 public static string GetMACAddress2() { NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); String sMacAddress = string.Empty; foreach (NetworkInterface adapter in nics) { if (sMacAddress == String.Empty)// only return MAC Address from first card { //IPInterfaceProperties properties = adapter.GetIPProperties(); Line is not required sMacAddress = adapter.GetPhysicalAddress().ToString(); } } return sMacAddress; } 

稍微修改了如何获取系统的MAC地址 – C-Sharp Corner

您可以在C#( System.Management )中使用WMI来获取包含MACAddress属性的Win32_NetworkAdapter列表。

http://msdn.microsoft.com/en-gb/library/windows/desktop/aa394216(v=vs.85).aspx