Изменение IP-адреса сетевого адаптера с помощью C#
Я знаю, как изменить IP-адрес системы с помощью этого кода. Но это изменит только текущее соединение.
public void setIP(string ip_address, string subnet_mask) { ListAllNetworkAdapters(); ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection objMOC = objMC.GetInstances(); foreach (ManagementObject objMO in objMOC) { if ((bool)objMO["IPEnabled"]) { try { ManagementBaseObject setIP; ManagementBaseObject newIP = objMO.GetMethodParameters("EnableStatic"); newIP["IPAddress"] = new string[] { ip_address }; newIP["SubnetMask"] = new string[] { subnet_mask }; setIP = objMO.InvokeMethod("EnableStatic", newIP, null); } catch (Exception) { throw; } } } }
Я перечислил несколько сетевых адаптеров, используя этот код
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) { if (ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet) { cmbAdaptors.Items.Add(ni.Name); } }
Теперь я хочу изменить IP-адрес каждого адаптера на другой IP-адрес. Я хочу поставить IP-адрес для Wi-Fi и поставить другой IP-адрес для подключения кабеля локальной сети.
Как я могу изменить IPv4-адрес выбранного сетевого адаптера с помощью кода.