你的位置:首页 > 软件开发 > ASP.net > C#获取设置IP地址,启用禁用适配器

C#获取设置IP地址,启用禁用适配器

发布时间:2015-06-16 00:08:28
界面效果图如下: 报表界面 说下关键代码 需要开启 Windows Management Instrumentation服务(默认已经开启),在程序中需要增加 Management引用。主要有NetworkAdapter(保存适配器的IP地址,网关,子网掩码, ...

界面效果图如下: 

C#获取设置IP地址,启用禁用适配器

报表界面

C#获取设置IP地址,启用禁用适配器 

说下关键代码

 需要开启 Windows Management Instrumentation服务(默认已经开启),在程序中需要增加 Management引用。

主要有NetworkAdapter(保存适配器的IP地址,网关,子网掩码,设置IP方面等 ),NetworkAdapterUtil(主要是NetworkAdapter类的集合 )两个类。

 在get='_blank'>windows8 需要在app.manifest文件中 

修改配置  <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,不然就算有管理员权限也修改不了IP地址。

1 设置IP地址的代码。(设置IP地址,修改IP地址需要管理员权限)

  /// <summary>  /// 网络适配器类  /// </summary>  public class NetworkAdapter  { /// <summary>    /// 设置IP地址    /// </summary>    /// <param name="ip"></param>    /// <param name="submask"></param>    /// <param name="getway"></param>    /// <param name="dns"></param>    private bool SetIPAddress(string[] ip, string[] submask, string[] getway, string[] dns)    {      ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");      ManagementObjectCollection moc = wmi.GetInstances();      ManagementBaseObject inPar = null;      ManagementBaseObject outPar = null;      string str = "";      foreach (ManagementObject mo in moc)      {        if (!(bool)mo["IPEnabled"])          continue;               if (this.NetworkInterfaceID == mo["SettingID"].ToString())        {          if (ip != null && submask != null)          {            string caption = mo["Caption"].ToString(); //描述            inPar = mo.GetMethodParameters("EnableStatic");            inPar["IPAddress"] = ip;            inPar["SubnetMask"] = submask;            outPar = mo.InvokeMethod("EnableStatic", inPar, null);            str = outPar["returnvalue"].ToString();            return (str=="0"||str=="1")?true:false;             //获取操作设置IP的返回值, 可根据返回值去确认IP是否设置成功。 0或1表示成功             // 返回值说明网址: https://msdn.microsoft.com/en-us/library/aa393301(v=vs.85).aspx          }          if(getway!=null)          {            inPar = mo.GetMethodParameters("SetGateways");            inPar["DefaultIPGateway"] = getway;            outPar = mo.InvokeMethod("SetGateways", inPar, null);            str = outPar["returnvalue"].ToString();            return (str == "0" || str == "1") ? true : false;          }          if (dns != null)          {            inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");            inPar["DNSServerSearchOrder"] = dns;            outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);            str = outPar["returnvalue"].ToString();            return (str == "0" || str == "1") ? true : false;          }                  }      }      return false;    } }

原标题:C#获取设置IP地址,启用禁用适配器

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录