Получить и изменить ip адрес моей сетевой карты - C#
Формулировка задачи:
Здравствуйте! Нужно получить и изменить ip моей сетевой карты. Пробовал с помощью библиотеки System.Net.Dns, но тогда выводится ip моего компьютера в интернете, а мне надо именно локальный ip моего компьютера. Подскажите библиотеку, пожалуйста.
Решение задачи: «Получить и изменить ip адрес моей сетевой карты»
textual
Листинг программы
// взято с [url]http://stackoverflow.com/a/7501315[/url] public static void SetIP( string nicName, string IpAddresses, string SubnetMask, string Gateway, string DnsSearchOrder) { ManagementClass mc = new ManagementClass( "Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { // Make sure this is a IP enabled device. // Not something like memory card or VM Ware if( mo["IPEnabled"] as bool ) { if( mo["Caption"].Equals( nicName ) ) { ManagementBaseObject newIP = mo.GetMethodParameters( "EnableStatic" ); ManagementBaseObject newGate = mo.GetMethodParameters( "SetGateways" ); ManagementBaseObject newDNS = mo.GetMethodParameters( "SetDNSServerSearchOrder" ); newGate[ "DefaultIPGateway" ] = new string[] { Gateway }; newGate[ "GatewayCostMetric" ] = new int[] { 1 }; newIP[ "IPAddress" ] = IpAddresses.Split( ',' ); newIP[ "SubnetMask" ] = new string[] { SubnetMask }; newDNS[ "DNSServerSearchOrder" ] = DnsSearchOrder.Split(','); ManagementBaseObject setIP = mo.InvokeMethod( "EnableStatic", newIP, null); ManagementBaseObject setGateways = mo.InvokeMethod( "SetGateways", newGate, null); ManagementBaseObject setDNS = mo.InvokeMethod( "SetDNSServerSearchOrder", newDNS, null); break; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д