C# chang IP dns defaultgatway

mac2022-06-30  18

from :http://stackoverflow.com/questions/209779/how-can-you-change-network-settings-ip-address-dns-wins-host-name-with-code

 

using System; using System.Management;  namespace WindowsFormsApplication_CS {     class NetworkManagement     {         /// <summary>         /// Set's a new IP Address and it's Submask of the local machine         /// </summary>         /// <param name="ip_address">The IP Address</param>         /// <param name="subnet_mask">The Submask IP Address</param>         /// <remarks>Requires a reference to the System.Management namespace</remarks>         public void setIP(string ip_address, string subnet_mask)         {             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;                     }                   }             }         }         /// <summary>         /// Set's a new Gateway address of the local machine         /// </summary>         /// <param name="gateway">The Gateway IP Address</param>         /// <remarks>Requires a reference to the System.Management namespace</remarks>         public void setGateway(string gateway)         {             ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");             ManagementObjectCollection objMOC = objMC.GetInstances();              foreach (ManagementObject objMO in objMOC)             {                 if ((bool)objMO["IPEnabled"])                 {                     try                     {                         ManagementBaseObject setGateway;                         ManagementBaseObject newGateway =                             objMO.GetMethodParameters("SetGateways");                          newGateway["DefaultIPGateway"] = new string[] { gateway };                         newGateway["GatewayCostMetric"] = new int[] { 1 };                          setGateway = objMO.InvokeMethod("SetGateways", newGateway, null);                     }                     catch (Exception)                     {                         throw;                     }                 }             }         }         /// <summary>         /// Set's the DNS Server of the local machine         /// </summary>         /// <param name="NIC">NIC address</param>         /// <param name="DNS">DNS server address</param>         /// <remarks>Requires a reference to the System.Management namespace</remarks>         public void setDNS(string NIC, string DNS)         {             ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");             ManagementObjectCollection objMOC = objMC.GetInstances();              foreach (ManagementObject objMO in objMOC)             {                 if ((bool)objMO["IPEnabled"])                 {                     if (objMO["Caption"].Equals(NIC))                     {                         try                         {                             ManagementBaseObject newDNS =                                 objMO.GetMethodParameters("SetDNSServerSearchOrder");                             newDNS["DNSServerSearchOrder"] = DNS.Split(',');                             ManagementBaseObject setDNS =                                 objMO.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);                         }                         catch (Exception)                         {                             throw;                         }                     }                 }             }         }         /// <summary>         /// Set's WINS of the local machine         /// </summary>         /// <param name="NIC">NIC Address</param>         /// <param name="priWINS">Primary WINS server address</param>         /// <param name="secWINS">Secondary WINS server address</param>         /// <remarks>Requires a reference to the System.Management namespace</remarks>         public void setWINS(string NIC, string priWINS, string secWINS)         {             ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");             ManagementObjectCollection objMOC = objMC.GetInstances();              foreach (ManagementObject objMO in objMOC)             {                 if ((bool)objMO["IPEnabled"])                 {                     if (objMO["Caption"].Equals(NIC))                     {                         try                         {                             ManagementBaseObject setWINS;                             ManagementBaseObject wins =                             objMO.GetMethodParameters("SetWINSServer");                             wins.SetPropertyValue("WINSPrimaryServer", priWINS);                             wins.SetPropertyValue("WINSSecondaryServer", secWINS);                              setWINS = objMO.InvokeMethod("SetWINSServer", wins, null);                         }                         catch (Exception)                         {                             throw;                         }                     }                 }             }         }      } } 

转载于:https://www.cnblogs.com/fightLonely/archive/2010/11/29/1890815.html

相关资源:C# IP地址输入控件
最新回复(0)