查看: 2569|回复: 0

[ASP.NET教程] C#通过WMI读取MAC地址

发表于 2018-3-7 08:00:01

该方法依赖WMI的系统服务,该服务一般不会被关闭;但如果系统服务缺失或者出现问题,该方法无法取得MAC地址,需要重启Windows Management Instrumentation服务。

  1. public static string GetMacAddress()
  2. {
  3. try
  4. {
  5. string active_mac = "";
  6. ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
  7. ManagementObjectCollection moc = mc.GetInstances();
  8. foreach (ManagementObject mo in moc)
  9. {
  10. if ((bool)mo["IPEnabled"] == true)
  11. active_mac = mo["MacAddress"].ToString();
  12. mo.Dispose();
  13. }
  14. string mac = active_mac.Substring(0, 2) + active_mac.Substring(3, 2) + active_mac.Substring(6, 2) + active_mac.Substring(9, 2) + active_mac.Substring(12, 2) + active_mac.Substring(15, 2);
  15. return mac;
  16. }
  17. catch (Exception ex)
  18. {
  19. return "Error Mac." + ex.Message;
  20. }
  21. }
复制代码


回复

使用道具 举报