(c#) 关于本地网络的IP地址的一些事

来源:互联网 发布:淘宝首页导航栏尺寸 编辑:程序博客网 时间:2024/06/07 06:05

1、不通过Win32_NetworkAdapterConfiguration获取本地连接的IP地址

代码如下:(需引用using System.Net.NetworkInformation

//IP地址获取string get = "";NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();foreach (NetworkInterface ni in interfaces){if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet){foreach (UnicastIPAddressInformation ips inni.GetIPProperties().UnicastAddresses){if (ips.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)                        {                            get = ips.Address.ToString().Trim();  //遍历到最后就是本地网络(以太网)}}}}



2、 C#修改IP地址、子网掩码以及默认网关的方法

代码如下:(需引用usingSystem.Management;

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"] && (mo["IPAddress"] as String[])[0].ToString().Trim().Equals(ip)){//设置ip地址和子网掩码 inPar = mo.GetMethodParameters("EnableStatic");inPar["IPAddress"] = new string[] { nip };       //远程IP地址inPar["SubnetMask"] = new string[] { nziwang };    //子网掩码outPar = mo.InvokeMethod("EnableStatic", inPar, null);//设置网关地址 inPar = mo.GetMethodParameters("SetGateways");inPar["DefaultIPGateway"] = new string[] { nwangguan }; //默认网关outPar = mo.InvokeMethod("SetGateways", inPar, null);}}




原创粉丝点击