无法获取到本地的mac地址的原因:
- 本地网络问题
- 相关服务被禁用
- wmi配置错误或者失败。
本文着力于第三种问题的解决:可以参考
无法获取本地mac,如果是wmi服务没有打开的问题。可以使用运行wmi.bat文件。注意要用管理员权限运行。(wmi。bat文件在网上可以找到配置的相关文件)
1 private static string GetNetworkAdpaterID() 2 { 3 try 4 { 5 string mac = ""; 6 7 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); 8 ManagementObjectCollection moc = mc.GetInstances(); 9 foreach (ManagementObject mo in moc) 10 if ((bool)mo["IPEnabled"] == true) 11 { 12 mac = mo["MacAddress"].ToString(); 13 break; 14 } 15 moc = null; 16 mc = null; 17 //Console.WriteLine(mac); 18 19 20 return mac.Trim().Replace(':', '-'); 21 } 22 catch (Exception e) 23 { 24 return "error:" + e.Message; 25 } 26 }