C#获取设置本机IP,DNS

项目右键,添加对System.Management的引用
using System.Management;
                    MessageBox.Show((nic["IPAddress"] as String[])[0]);
                    MessageBox.Show((nic["IPSubnet"] as String[])[0]);
                    MessageBox.Show((nic["DefaultIPGateway"] as String[])[0]);
----------------------------------------------
 public string getdns1()
         {
             ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
             ManagementObjectCollection nics = mc.GetInstances(); 
             foreach (ManagementObject nic in nics) 
             { 
                 if (Convert.ToBoolean(nic["ipEnabled"]) == true) 
                 { 
                     try
                     {
                     return (nic["DNSServerSearchOrder"] as String[])[0];
                     }catch
                     {
                         return "Dns设置ing";
                     }
                 } 
             }
             return null;
         }
----------------------------------------------
         void setdns(string[] dns)
         {
             ManagementBaseObject inPar = null;  
            // ManagementBaseObject outPar = null;  
             ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");  
             ManagementObjectCollection moc = mc.GetInstances();  
             foreach (ManagementObject mo in moc)  
             {  
                 if (!(bool)mo["IPEnabled"]) continue;  
                 inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");  
                 inPar["DNSServerSearchOrder"] = dns; //设置DNS  1.DNS 2.备用DNS  
                 mo.InvokeMethod("SetDNSServerSearchOrder", null);
                 mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);// 执行  
                 break; //只设置一张网卡,不能多张。  
             }  
         }
Article By :

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注