標籤:style color os io 資料 for ar 代碼
關鍵代碼:
/// <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地址是否合法才可以登陸,所以總結了下,希望有所協助!