亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現獲取設置IP地址小工具

2020-01-24 01:43:19
字體:
來源:轉載
供稿:網友

界面效果圖如下:

報表界面

說下關鍵代碼

 需要開啟 Windows Management Instrumentation服務(默認已經開啟),在程序中需要增加 Management引用。

主要有NetworkAdapter(保存適配器的IP地址,網關,子網掩碼,設置IP方面等 ),NetworkAdapterUtil(主要是NetworkAdapter類的集合 )兩個類。

 在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;    } }

2 設置IP為自動獲取

   /// <summary>    /// 啟用DHCP服務    /// </summary>    public void EnableDHCP()    {      ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");      ManagementObjectCollection moc = wmi.GetInstances();      foreach (ManagementObject mo in moc)      {        if (!(bool)mo["IPEnabled"])          continue;        if (mo["SettingID"].ToString() == this.NetworkInterfaceID) //網卡接口標識是否相等, 相當只設置指定適配器IP地址        {          mo.InvokeMethod("SetDNSServerSearchOrder", null);          mo.InvokeMethod("EnableDHCP", null);        }      }    }

  3. 獲取所有適配器

public class NetworkAdapterUtil{ /// <summary>    /// 獲取所有適配器類型,適配器被禁用則不能獲取到    /// </summary>    /// <returns></returns>    public List<NetworkAdapter> GetAllNetworkAdapters() //如果適配器被禁用則不能獲取到    {      IEnumerable<NetworkInterface> adapters = NetworkInterface.GetAllNetworkInterfaces(); //得到所有適配器      return GetNetworkAdapters(adapters);    } /// <summary>   /// 根據條件獲取IP地址集合,   /// </summary>    /// <param name="adapters">網絡接口地址集合</param>   /// <param name="adapterTypes">網絡連接狀態,如,UP,DOWN等</param>   /// <returns></returns>    private List<NetworkAdapter> GetNetworkAdapters(IEnumerable<NetworkInterface> adapters, params NetworkInterfaceType[] networkInterfaceTypes)    {      adapterList = new List<NetworkAdapter>();      foreach (NetworkInterface adapter in adapters)      {        if (networkInterfaceTypes.Length <=0) //如果沒傳可選參數,就查詢所有        {          if (adapter != null)          {            NetworkAdapter adp = SetNetworkAdapterValue(adapter);            adapterList.Add(adp);          }          else          {            return null;          }        }        else //過濾查詢數據        {          foreach (NetworkInterfaceType networkInterfaceType in networkInterfaceTypes)           {                       if (adapter.NetworkInterfaceType.ToString().Equals(networkInterfaceType.ToString()))             {              adapterList.Add(SetNetworkAdapterValue(adapter));               break; //退出當前循環            }          }        }      }      return adapterList;    } /// <summary>   /// 設置網絡適配器信息   /// </summary>   /// <param name="adapter"></param>   /// <returns></returns>   private NetworkAdapter SetNetworkAdapterValue(NetworkInterface adapter)   {     NetworkAdapter networkAdapter = new NetworkAdapter();     IPInterfaceProperties ips = adapter.GetIPProperties();     networkAdapter.Description = adapter.Name;     networkAdapter.NetworkInterfaceType = adapter.NetworkInterfaceType.ToString();     networkAdapter.Speed = adapter.Speed / 1000 / 1000 + "MB"; //速度     networkAdapter.MacAddress = adapter.GetPhysicalAddress(); //物理地址集合     networkAdapter.NetworkInterfaceID = adapter.Id;//網絡適配器標識符     networkAdapter.Getwaryes = ips.GatewayAddresses; //網關地址集合     networkAdapter.IPAddresses = ips.UnicastAddresses; //IP地址集合     networkAdapter.DhcpServerAddresses = ips.DhcpServerAddresses;//DHCP地址集合     networkAdapter.IsDhcpEnabled =ips.GetIPv4Properties()==null?false: ips.GetIPv4Properties().IsDhcpEnabled; //是否啟用DHCP服務     IPInterfaceProperties adapterProperties = adapter.GetIPProperties();//獲取IPInterfaceProperties實例      networkAdapter.DnsAddresses = adapterProperties.DnsAddresses; //獲取并顯示DNS服務器IP地址信息 集合     return networkAdapter;   }  } }

4  啟用, 禁用適配器代碼

    /// <summary>    /// 啟用所有適配器    /// </summary>    /// <returns></returns>    public void EnableAllAdapters()    {     // ManagementClass wmi = new ManagementClass("Win32_NetworkAdapter");     // ManagementObjectCollection moc = wmi.GetInstances();      System.Management.ManagementObjectSearcher moc = new System.Management.ManagementObjectSearcher("Select * from Win32_NetworkAdapter where NetEnabled!=null ");         foreach (System.Management.ManagementObject mo in moc.Get())      {        //if (!(bool)mo["NetEnabled"])        //  continue;        string capation = mo["Caption"].ToString();        string descrption =mo["Description"].ToString();        mo.InvokeMethod("Enable",null);      }         }    /// <summary>    /// 禁用所有適配器    /// </summary>    public void DisableAllAdapters()    {      // ManagementClass wmi = new ManagementClass("Win32_NetworkAdapter");      // ManagementObjectCollection moc = wmi.GetInstances();      System.Management.ManagementObjectSearcher moc = new System.Management.ManagementObjectSearcher("Select * from Win32_NetworkAdapter where NetEnabled!=null ");      foreach (System.Management.ManagementObject mo in moc.Get())      {        //if ((bool)mo["NetEnabled"])        //  continue;        string capation = mo["Caption"].ToString();        string descrption = mo["Description"].ToString();        mo.InvokeMethod("Disable", null);      }    }

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品亚洲一区二区三区在线播放| 国产精品午夜一区二区欲梦| 久久成人一区二区| 欧美亚洲成人免费| 91色视频在线导航| 国产精品一区二区三区在线播放| 国产精品久久久久av免费| 日韩中文娱乐网| 91社影院在线观看| 亚洲国产精品久久久久秋霞蜜臀| 国产精品女人网站| 成人国产精品免费视频| 97热在线精品视频在线观看| 国产美女久久精品香蕉69| 中文字幕精品久久| 91成人天堂久久成人| 国产性猛交xxxx免费看久久| 欧美一区二区三区……| 国产精品老牛影院在线观看| 成人国产亚洲精品a区天堂华泰| 97在线观看免费高清| 国产91精品在线播放| 亚洲国产成人精品一区二区| 欧美中文字幕视频在线观看| 久久激情五月丁香伊人| 精品久久久久久久久久久| 亚洲深夜福利在线| 午夜精品久久久久久99热软件| 午夜精品美女自拍福到在线| 精品久久久免费| 亚洲精品国产精品国自产在线| 精品人伦一区二区三区蜜桃网站| 国产一区二区精品丝袜| 国产啪精品视频| 日韩高清欧美高清| 97精品国产97久久久久久免费| 亚洲激情自拍图| 国产精品日韩av| 狠狠久久亚洲欧美专区| 国产视频精品久久久| 2019中文字幕免费视频| 亚洲第一区中文字幕| 欧美日韩国产中文字幕| 68精品国产免费久久久久久婷婷| 亚洲free性xxxx护士白浆| 日韩专区在线播放| 亚州欧美日韩中文视频| 欧美人与物videos| 亚洲精品欧美极品| 精品久久久久久久中文字幕| 亚州精品天堂中文字幕| 97成人精品视频在线观看| 亚洲性69xxxbbb| 最近2019中文字幕大全第二页| 欧美精品做受xxx性少妇| 国产成人精品视频| 欧美日韩中文字幕| 7777kkkk成人观看| 日韩亚洲欧美中文高清在线| 亚洲欧美在线x视频| 国产精品视频网| 国产精品久久久久影院日本| 欧美国产一区二区三区| 欧美福利视频网站| 亚洲一区二区三区sesese| 国语自产精品视频在线看| 综合激情国产一区| 久久久久久久久久久国产| 粉嫩av一区二区三区免费野| 国产精品久久久久久久美男| 久久青草福利网站| xxav国产精品美女主播| 日韩在线视频网| 激情亚洲一区二区三区四区| 亚洲第一精品夜夜躁人人躁| 在线看片第一页欧美| 久久久国产精品一区| 久久久亚洲成人| 日本a级片电影一区二区| 欧美性感美女h网站在线观看免费| 91亚洲国产成人久久精品网站| 亚洲国产精品一区二区三区| 欧美黑人一级爽快片淫片高清| 久久69精品久久久久久国产越南| 亚洲成人网在线观看| 亚洲在线观看视频| 一本色道久久综合亚洲精品小说| 国产不卡av在线免费观看| 中文字幕亚洲欧美日韩高清| 亚洲第一区中文字幕| xxxx性欧美| 国产激情999| 91欧美激情另类亚洲| 欧美激情第1页| 国产欧美日韩专区发布| 国产精品免费久久久久影院| 激情懂色av一区av二区av| 日韩美女在线观看一区| 国产精选久久久久久| 欧美一区视频在线| 国产伦精品一区二区三区精品视频| 久久久精品一区| 午夜精品久久久久久久白皮肤| 国产成人高清激情视频在线观看| 亚洲第一网中文字幕| 欧美夫妻性视频| 成人xvideos免费视频| 欧美日韩另类在线| 亚洲精品动漫久久久久| 一本色道久久综合狠狠躁篇怎么玩| 日韩av在线免费观看一区| 日韩电影免费观看中文字幕| 国产精品美女久久久久久免费| 91久久精品美女高潮| 亚洲人成电影网站色www| 欧美日韩国产精品专区| 91免费国产视频| 国产精品久久久久秋霞鲁丝| 97涩涩爰在线观看亚洲| 欧美一级大片视频| 国产精品免费一区| 欧美日韩美女在线观看| 国产精品手机播放| 亚洲色图狂野欧美| 久久精品国产69国产精品亚洲| www.亚洲天堂| 欧美日韩国产区| 狠狠操狠狠色综合网| 日本精品在线视频| 97免费在线视频| 国产福利精品在线| 欧美性受xxxx白人性爽| 日韩一区二区三区国产| 欧美性受xxx| 成人精品一区二区三区电影黑人| 国产精品美女免费看| 国产精品丝袜高跟| 久久亚洲春色中文字幕| 国产欧美日韩丝袜精品一区| 国产亚洲精品激情久久| 欧美激情视频一区二区三区不卡| 欧美激情一区二区三区在线视频观看| 久久乐国产精品| 欧美日韩国产中字| 国产精品日韩久久久久| 中文字幕在线亚洲| 欧美性jizz18性欧美| 欧美激情一级二级| 欧美日韩国产一中文字不卡| 在线观看国产精品91| 日韩在线观看网站| 欧美性极品少妇精品网站| 亚洲乱亚洲乱妇无码| 欧美成人免费全部| 亲子乱一区二区三区电影| 福利微拍一区二区| 国产精品69久久久久| 久久久久久欧美| 欧美激情视频播放| 亚洲精品女av网站| 亚洲精品wwww| 亚洲偷熟乱区亚洲香蕉av| 国产91露脸中文字幕在线| 亚洲级视频在线观看免费1级|