C#通過WMI讀取MAC地址

該方法依賴WMI的系統服務,該服務一般不會被關閉;但如果系統服務缺失或者出現問題,該方法無法取得MAC地址,需要重啓Windows Management Instrumentation服務。

public static string GetMacAddress()
        {
            try
            {
                string active_mac = "";
                ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    if ((bool)mo["IPEnabled"] == true)
                        active_mac = mo["MacAddress"].ToString();
                    mo.Dispose();
                }
                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);
                return mac;
            }
            catch (Exception ex)
            {
                return "Error Mac." + ex.Message;
            }
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章