C#完成獲得MAC地址的辦法。本站提示廣大學習愛好者:(C#完成獲得MAC地址的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成獲得MAC地址的辦法正文
本文實例講述了C#完成獲得MAC地址的辦法,是一個異常罕見並且適用的功效,詳細辦法以下:
重要功效代碼以下:
/// <summary> /// 依據網卡類型來獲得mac地址 /// </summary> /// <param name="networkType">網卡類型</param> /// <param name="macAddressFormatHanlder">格局化獲得到的mac地址</param> /// <returns>獲得到的mac地址</returns> public static string GetMacAddress(NetworkInterfaceType networkType, Func<string, string> macAddressFormatHanlder) { string _mac = string.Empty; NetworkInterface[] _networkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adapter in _networkInterfaces) { if (adapter.NetworkInterfaceType == networkType) { _mac = adapter.GetPhysicalAddress().ToString(); if (!String.IsNullOrEmpty(_mac)) break; } } if (macAddressFormatHanlder != null) _mac = macAddressFormatHanlder(_mac); return _mac; } /// <summary> /// 依據網卡類型和網卡狀況獲得mac地址 /// </summary> /// <param name="networkType">網卡類型</param> /// <param name="status">網卡狀況</param> ///Up 收集接口已運轉,可以傳輸數據包。 ///Down 收集接口沒法傳輸數據包。 ///Testing 收集接口正在運轉測試。 ///Unknown 收集接口的狀況未知。 ///Dormant 收集接口不處於傳輸數據包的狀況;它正期待內部事宜。 ///NotPresent 因為缺乏組件(平日為硬件組件),收集接口沒法傳輸數據包。 ///LowerLayerDown 收集接口沒法傳輸數據包,由於它運轉在一個或多個其他接口之上,而這些“低層”接口中至多有一個已封閉。 /// <param name="macAddressFormatHanlder">格局化獲得到的mac地址</param> /// <returns>獲得到的mac地址</returns> public static string GetMacAddress(NetworkInterfaceType networkType, OperationalStatus status, Func<string, string> macAddressFormatHanlder) { string _mac = string.Empty; NetworkInterface[] _networkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adapter in _networkInterfaces) { if (adapter.NetworkInterfaceType == networkType) { if (adapter.OperationalStatus != status) continue; _mac = adapter.GetPhysicalAddress().ToString(); if (!String.IsNullOrEmpty(_mac)) break; } } if (macAddressFormatHanlder != null) _mac = macAddressFormatHanlder(_mac); return _mac; } /// <summary> /// 獲得讀到的第一個mac地址 /// </summary> /// <returns>獲得到的mac地址</returns> public static string GetMacAddress(Func<string, string> macAddressFormatHanlder) { string _mac = string.Empty; NetworkInterface[] _networkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adapter in _networkInterfaces) { _mac = adapter.GetPhysicalAddress().ToString(); if (!string.IsNullOrEmpty(_mac)) break; } if (macAddressFormatHanlder != null) _mac = macAddressFormatHanlder(_mac); return _mac; }
有些項目中出於平安斟酌須要獲得MAC地址,然後再斷定MAC地址能否正當才可以上岸。本文總結的辦法願望對年夜家有所贊助!