C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx

上传人:啊飒飒 文档编号:11621730 上传时间:2021-08-26 格式:DOCX 页数:10 大小:13.46KB
返回 下载 相关 举报
C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx_第1页
第1页 / 共10页
C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx_第2页
第2页 / 共10页
C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx_第3页
第3页 / 共10页
C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx_第4页
第4页 / 共10页
C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx》由会员分享,可在线阅读,更多相关《C#设置本地网络如DNS、网关、子网掩码、IP等等_.docx(10页珍藏版)》请在三一文库上搜索。

1、C#设置本地网络如DNS、网关、子网掩码、IP等等_ 手动设置本地网络的方法明显很不行取,所以我们要让程序帮我们完成,需要的伴侣可以参考下 如今网络在我们的生活工作中所起的作用越来越大,可以说离开了网络我们就无法正常的工作和生活。作为程序员我们写的程序大多数也会跟网络相关,而想要用法网络首先要将机器的网络配置设置好。而手动设置的方法明显很不行取,所以我们要让程序帮我们完成。下面是一个很常用的C#设置系统各种网络参数的一个小Demo一起看看吧。 这个Demo是通过Win32_NetworkAdapterConfiguration这个管理类.这里面已基本包括了IP,DNS,网关的设置信息。 在C#

2、中用法WMI还是比较简洁的: 代码如下: using System; using System.Collections.Generic; using System.Text; using System; using System.Collections; using System.Text; using System.Management; using System.Text.RegularExpressions; namespace Demo / summary / 网络设置类,设置网络的各种参数(DNS、网关、子网掩码、IP) / /summary public class Network

3、Setting public NetworkSetting() / 构造函数规律 / summary / 设置DNS / /summary / param name=dns/param public static void SetDNS(string dns) SetIPAddress(null, null, null, dns); / summary / 设置网关 / /summary / param name=getway/param public static void SetGetWay(string getway) SetIPAddress(null, null, new strin

4、g getway , null); / summary / 设置网关 / /summary / param name=getway/param public static void SetGetWay(string getway) SetIPAddress(null, null, getway, null); / summary / 设置IP地址和掩码 / /summary / param name=ip/param / param name=submask/param public static void SetIPAddress(string ip, string submask) Set

5、IPAddress(new string ip , new string submask , null, null); / summary / 设置IP地址,掩码和网关 / /summary / param name=ip/param / param name=submask/param / param name=getway/param public static void SetIPAddress(string ip, string submask, string getway) SetIPAddress(new string ip , new string submask , new s

6、tring getway , null); / summary / 设置IP地址,掩码,网关和DNS / /summary / param name=ip/param / param name=submask/param / param name=getway/param / param name=dns/param public static void SetIPAddress(string ip, string submask, string getway, string dns) ManagementClass wmi = new ManagementClass(Win32_Networ

7、kAdapterConfiguration); ManagementObjectCollection moc = wmi.GetInstances(); ManagementBaseObject inPar = null; ManagementBaseObject outPar = null; foreach (ManagementObject mo in moc) /假如没有启用IP设置的网络设备则跳过 if (!(bool) moIPEnabled) continue; /设置IP地址和掩码 if (ip != null submask != null) inPar = mo.GetMet

8、hodParameters(EnableStatic); inParIPAddress = ip; inParSubnetMask = submask; outPar = mo.InvokeMethod(EnableStatic, inPar, null); /设置网关地址 if (getway != null) inPar = mo.GetMethodParameters(SetGateways); inParDefaultIPGateway = getway; outPar = mo.InvokeMethod(SetGateways, inPar, null); /设置DNS地址 if (

9、dns != null) inPar = mo.GetMethodParameters(SetDNSServerSearchOrder); inParDNSServerSearchOrder = dns; outPar = mo.InvokeMethod(SetDNSServerSearchOrder, inPar, null); / summary / 启用DHCP服务器 / /summary public static void EnableDHCP() ManagementClass wmi = new ManagementClass(Win32_NetworkAdapterConfig

10、uration); ManagementObjectCollection moc = wmi.GetInstances(); foreach (ManagementObject mo in moc) /假如没有启用IP设置的网络设备则跳过 if (!(bool) moIPEnabled) continue; /重置DNS为空 mo.InvokeMethod(SetDNSServerSearchOrder, null); /开启DHCP mo.InvokeMethod(EnableDHCP, null); / summary / 推断是否符合IP地址格式 / /summary / param n

11、ame=ip/param / returns/returns public static bool IsIPAddress(string ip) /将完整的IP以“.”为界限分组 string arr = ip.Split(.); /推断IP是否为四组数组成 if (arr.Length != 4) return false; /正则表达式,13位整数 string pattern = d1,3; for (int i = 0; i arr.Length; i+) string d = arri; /推断IP开头是否为0 if (i = 0 d = 0) return false; /推断IP是否是由13位数组成 if (!Regex.IsMatch(d, pattern) return false; if (d != 0) /推断IP的每组数是否全为0 d = d.TrimStart(0); if (d = ) return false; /推断IP每组数是否大于255 if (int.Parse(d) 255) return false; return true; 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1