/// <summary> /// 获取指定连接名称的IPv4地址 /// </summary> /// <param name="pConnID"></param> /// <returns></returns> public static string[] GetIPV4Addresses(string pConnID) { // 根据名称获取网卡序号 List <Win32Provider.Win32_NetworkAdapter> list = Win32Provider.ProviderHelper <Win32Provider.Win32_NetworkAdapter> .GetAll(); if (list == null || list.Count == 0) { return(null); } Win32Provider.Win32_NetworkAdapter obj = list.FirstOrDefault(o => o.NetConnectionID == pConnID); if (obj == null) { return(null); } // 根据网卡MAC地址获取网卡信息 List <Win32Provider.Win32_NetworkAdapterConfiguration> listConfig = Win32Provider.ProviderHelper <Win32Provider.Win32_NetworkAdapterConfiguration> .GetAll(); if (listConfig == null || listConfig.Count == 0) { return(null); } Win32Provider.Win32_NetworkAdapterConfiguration objConfig = null; foreach (var config in listConfig) { if (config.MACAddress == obj.MACAddress && config.IPAddress != null && config.IPAddress.Length > 0) { objConfig = config; } } if (objConfig == null || objConfig.IPAddress == null || objConfig.IPAddress.Length == 0) { return(null); } // 返回IP地址 List <string> result = new List <string>(); // 冒号为IPv6,.为IPv4 foreach (string ip in objConfig.IPAddress) { if (ip.Contains(".")) { result.Add(ip); } } if (result.Count > 0) { return(result.ToArray()); } return(null); }
/// <summary> /// 获取本机活动网卡的IPv4地址 /// </summary> /// <returns></returns> public static string[] GetIPV4Addresses() { List <Win32Provider.Win32_NetworkAdapterConfiguration> list = Win32Provider.ProviderHelper <Win32Provider.Win32_NetworkAdapterConfiguration> .GetAll(); if (list == null || list.Count == 0) { return(null); } Win32Provider.Win32_NetworkAdapterConfiguration obj = list.FirstOrDefault(o => o.IPEnabled == true); if (obj == null) { return(null); } //// 返回IP地址 //List<string> result = new List<string>(); //// 冒号为IPv6,.为IPv4 //foreach(string ip in objConfig.IPAddress) //{ // if(ip.Contains(".")) // result.Add(ip); //} //if(result.Count > 0) //{ // return result.ToArray(); //} return(null); }