/// <summary> /// 读取IP,掩码,网关地址 /// </summary> /// <param name="netConnectorName"></param> /// <param name="ip"></param> /// <param name="mask"></param> /// <param name="gateway"></param> public void GetIPAddress(string netConnectorName,out string ip, out string mask, out string gateway) { ip = string.Empty; mask = string.Empty; gateway = string.Empty; string guid; var find = FindNetConnectorGUID(netConnectorName, out guid); if (!find) return ; ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = wmi.GetInstances(); ManagementBaseObject inPar = null; ManagementBaseObject outPar = null; foreach (ManagementObject mo in moc) { //如果没有启用IP设置的网络设备则跳过 //if (!(bool)mo["IPEnabled"]) // continue; var m = mo["SettingID"]; if ((m != null) && (m.ToString() == guid)) { //比价是否一致 ip = ((string[])mo["IPAddress"])[0]; mask = ((string[])mo["IPSubnet"])[0]; gateway = ((string[])mo["DefaultIPGateway"])[0]; return; } } }
根据网络连接名称,使用wmi方式获取对应的网络连接配置信息