C# 获取32位和64位MAC地址

来源:互联网 发布:知らないうちに百度云 编辑:程序博客网 时间:2024/06/06 08:59

32位的是: 

public string GetMac(object o)

{
string mac = "";

ManagementClass mc;
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (mo["IPEnabled"].ToString() == "True")
{ mac = mo["MacAddress"].ToString(); break; }
}
return mac;

}



兼容64位的是:

private string GetMac()
{
const int MIN_MAC_ADDR_LENGTH = 12;
string macAddress = string.Empty;
long maxSpeed = -1;

foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
string tempMac = nic.GetPhysicalAddress().ToString();
if (nic.Speed > maxSpeed &&
!string.IsNullOrEmpty(tempMac) &&
tempMac.Length >= MIN_MAC_ADDR_LENGTH)
{
maxSpeed = nic.Speed;
macAddress = tempMac;
}
}

return macAddress;
}

0 0
原创粉丝点击