關(guān)鍵代碼:
/// <summary> /// 根據(jù)網(wǎng)卡類型來(lái)獲取mac地址 /// </summary> /// <param name="networkType">網(wǎng)卡類型</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> /// 根據(jù)網(wǎng)卡類型以及網(wǎng)卡狀態(tài)獲取mac地址 /// </summary> /// <param name="networkType">網(wǎng)卡類型</param> /// <param name="status">網(wǎng)卡狀態(tài)</param> ///Up 網(wǎng)絡(luò)接口已運(yùn)行,可以傳輸數(shù)據(jù)包。 ///Down 網(wǎng)絡(luò)接口無(wú)法傳輸數(shù)據(jù)包。 ///Testing 網(wǎng)絡(luò)接口正在運(yùn)行測(cè)試。 ///Unknown 網(wǎng)絡(luò)接口的狀態(tài)未知。 ///Dormant 網(wǎng)絡(luò)接口不處于傳輸數(shù)據(jù)包的狀態(tài);它正等待外部事件。 ///NotPResent 由于缺少組件(通常為硬件組件),網(wǎng)絡(luò)接口無(wú)法傳輸數(shù)據(jù)包。 ///LowerLayerDown 網(wǎng)絡(luò)接口無(wú)法傳輸數(shù)據(jù)包,因?yàn)樗\(yùn)行在一個(gè)或多個(gè)其他接口之上,而這些“低層”接口中至少有一個(gè)已關(guān)閉。 /// <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> /// 獲取讀到的第一個(gè)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; }項(xiàng)目中需要獲取MAC地址,然后判斷MAC地址是否合法才可以登陸,所以總結(jié)了下,希望有所幫助!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注