亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實現(xiàn)獲取MAC地址的方法

 更新時間:2014年08月07日 10:30:36   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)獲取MAC地址的方法,很實用的功能,需要的朋友可以參考下

本文實例講述了C#實現(xiàn)獲取MAC地址的方法,是一個非常常見而且實用的功能,具體方法如下:

主要功能代碼如下:

/// <summary>
/// 根據(jù)網(wǎng)卡類型來獲取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ò)接口已運行,可以傳輸數(shù)據(jù)包。 
///Down 網(wǎng)絡(luò)接口無法傳輸數(shù)據(jù)包。 
///Testing 網(wǎng)絡(luò)接口正在運行測試。 
///Unknown 網(wǎng)絡(luò)接口的狀態(tài)未知。 
///Dormant 網(wǎng)絡(luò)接口不處于傳輸數(shù)據(jù)包的狀態(tài);它正等待外部事件。 
///NotPresent 由于缺少組件(通常為硬件組件),網(wǎng)絡(luò)接口無法傳輸數(shù)據(jù)包。 
///LowerLayerDown 網(wǎng)絡(luò)接口無法傳輸數(shù)據(jù)包,因為它運行在一個或多個其他接口之上,而這些“低層”接口中至少有一個已關(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>
/// 獲取讀到的第一個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地址是否合法才可以登陸。本文總結(jié)的方法希望對大家有所幫助!

相關(guān)文章

最新評論