这个IP切换器的源码是我自己小学期的时候写的,有些代码是直接网上复制改的,所以对你们有没有作用,就看你们的造化了
界面也没有进行优化过,所以不要介意
Form1代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Management;
using System.Net.NetworkInformation;
using System.Text.RegularExpressions;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace IP切换器
{
public partial class Form1 : Form
{
string path = "..\\..\\ip.txt"; //才用相对路径,这样可以减少对电脑的依赖性
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
WindowsBtn.Checked = true;
//loadConfig();
GetName();
GetMAC();
ReadClass();
GetIP();
}
#region
//获取网卡物理地址
//这个只能获取一个网卡的信息即有线网卡的信息,所以不行
//public string getMacAddr_Local()
//{
// string madAddr = null;
// ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
// //GetInstances 例证法
// ManagementObjectCollection moc2 = mc.GetInstances();
// foreach (ManagementObject mo in moc2)
// {
// if (Convert.ToBoolean(mo["IPEnabled"]) == true)
// {
// madAddr = mo["MacAddress"].ToString();
// madAddr = madAddr.Replace(':', '-');
// }
// mo.Dispose();
// }
// return madAddr;
//}
#endregion
//自动获取IP地址(DHCP)
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
//ip
IPtxt.Enabled = false;
//子网掩码
SubnetMasktxt.Enabled = false;
//默认网关
AcquiesceGatewaytxt.Enabled = false;
}
else
{
//ip
IPtxt.Enabled = true;
//子网掩码
SubnetMasktxt.Enabled = true;
//默认网关
AcquiesceGatewaytxt.Enabled = true;
}
}
//自动获取DNS服务器
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked == true)
{
checkBox1.Checked = true;
//主DNS
FirstDNStxt.Enabled = false;
//备用DNS
SpareDNStxt.Enabled = false;
}
else
{
//主DNS
FirstDNStxt.Enabled = true;
//备用DNS
SpareDNStxt.Enabled = true;
}
}
#region 获得IP,子网掩码,默认网关,DNS1,DNS2等信息
public void GetIP()
{
//这些都是system.net的方法
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
int index = 0;
foreach (NetworkInterface adapter in adapters)
{
index++;
string IPName = comboBox1.Text;
List<string> DNS = new List<string>();
if (IPName == adapter.Name)
{
获取IPInterfaceProperties实例
IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
//获取并显示DNS服务器IP地址信息
IPAddressCollection dnsServers = adapterProperties.DnsAddresses;
if (dnsServers.Count > 0)
{
foreach (IPAddress dns in dnsServers)
{
DNS.Add(dns.ToString());
}
}
else
{
DNS.Add("");
}
//判断DNS的格式,因为有时候出现错误的格式
if (IsIpaddress(DNS[0]))
FirstDNStxt.Text = DNS[0];
else
FirstDNStxt.Text = "";
if (DNS.Count > 1) //判断DNS的数值,DNS不一定有两个
if (IsIpaddress(DNS[1]))
SpareDNStxt.Text = DNS[1];
else
SpareDNStxt.Text = "";
else
SpareDNStxt.Text = "";
//等待获取默认网关
GatewayIPAddressInformationCollection addresses = adapterProperties.GatewayAddresses;
if (addresses.Count > 0)
{
foreach (GatewayIPAddressInformation address in addresses)
{
AcquiesceGatewaytxt.Text = address.Address.ToString();
}
}
//获取以太网卡网络接口信息
//获取单播地址集
UnicastIPAddressInformationCollection ipCollection = adapterProperties.UnicastAddresses;
foreach (UnicastIPAddressInformation ipadd in ipCollection)
{
//InterNetwork IPV4地址 InterNetworkV6 IPV6地址
//Max MAX 位址
if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork)
//判断是否为ipv4
IPtxt.Text = ipadd.Address.ToString();//获取ip
if (ipadd.IPv4Mask.ToString() != "0.0.0.0")
SubnetMasktxt.Text = ipadd.IPv4Mask.ToString();
}
}
}
}
//获取名称
public void GetName()
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
List<string> st = new List<string>();
int index = 0;
foreach (NetworkInterface adapter in adapters)
{
index++;
//显示网络适配器描述信息、名称、ID
bool adaptername = adapter.Name.Contains('本');
if (adapter.Name == "以太网" || adapter.Name == "WLAN" || adaptername)
st.Add(adapter.Name);
}
comboBox1.DataSource = st;
}
//获取MAC
public void GetMAC()
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
string IPName = comboBox1.Text;
int index = 0;
foreach (NetworkInterface adapter in adapters)
{
index++;
//显示网络适配器描述信息、名称、ID
if (IPName == adapter.Name)
{
//调用自己写的方法ConvertMacAddress
//将我们的字符串转成我们应该看到的标准格式
string MAC = ConvertMacAddress(adapter.GetPhysicalAddress().ToString(), '-');
Physicstxt.Text = MAC;
}
}
}
#endregion
/// <summary>
/// 从180373AE380D转化为18-03-73-AE-38-0D
/// </summary>
/// <param name="_macAddress"></param>
/// <returns></returns>
public static string ConvertMacAddress(string _macAddress, char _spliter)
{
string targetMacAddress = string.Empty;
for (int i = 0; i < _macAddress.Length; i = i + 2)
{
targetMacAddress = targetMacAddress + _macAddress.Substring(i, 2);
if ((_macAddress.Length - i) > 2)
targetMacAddress = targetMacAddress + _spliter; //这里主要是转换格式没2加字符_spliter
}
return targetMacAddress;
}
//这里是选择的问题,combobox中选择各类网卡,进行选择
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
GetMAC();
GetIP();
}
//获取IP的点击事件
private void GetIPbtn_Click(object sender, EventArgs e)
{
GetIP();
}
//应用IP的点击事件
private void UseIPDNSbtn_Click(object sender, EventArgs e)
{
string l = RandomIP().ToString(); //调用自写RandomIP获取随机数
string ip1 = IPtxt.Text.Replace("*", l); //string中替换字符的一个方法
try
{
if (!IsIpaddress(ip1.Trim()))
{
MessageBox.Show("ip格式不正确!"); return;
}
if (!IsIpaddress(SubnetMasktxt.Text.Trim()))
{
MessageBox.Show("子网掩码格式不正确!"); return;
}
if (!IsIpaddress(AcquiesceGatewaytxt.Text.Trim()))
{
MessageBox.Show("网关格式不正确!"); return;
}
if (!IsIpaddress(FirstDNStxt.Text.Trim()))
{
MessageBox.Show("DNS1格式不正确!"); return;
}
if (!IsIpaddress(SpareDNStxt.Text.Trim()))
{
MessageBox.Show("DNS2格式不正确!"); return;
}
string[] ip = new string[] { ip1 };
string[] SubMark = new string[] { SubnetMasktxt.Text.Trim() };
string[] GateWay = new string[] { AcquiesceGatewaytxt.Text.Trim() };
string[] DNS = new string[] { FirstDNStxt.Text.Trim(), SpareDNStxt.Text.Trim() };
if (checkBox1.Checked == true && checkBox2.Checked == true)
{
string name = comboBox1.Text;
string text;
Windows.winchangipDHCP(name, out text);
}
else if (checkBox1.Checked == false && checkBox2.Checked == true)
{
string name = comboBox1.Text;
string text;
Windows.winchangdnsDHCP(name, DNS, out text);
}
else
{
if (WindowsBtn.Checked == true)
{
string name = comboBox1.Text;
Windows.winchangeip(name, ip[0], SubMark[0], GateWay[0], DNS);
}
if (WMIBtn.Checked == true)
{
SetIpInfo(ip, SubMark, GateWay, DNS);
}
}
MessageBox.Show("ip信息设置成功!", "成功提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception er)
{
MessageBox.Show("设置出错:" + er.Message, "出错提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#region 判断是否是正确的ip地址
/// <summary>
/// 判断是否是正确的ip地址
/// </summary>
/// <param name="ipaddress"></param>
/// <returns></returns>
protected bool IsIpaddress(string ipaddress)
{
string[] nums = ipaddress.Split('.');
if (nums.Length != 4) return false;
foreach (string num in nums)
{
if (Convert.ToInt32(num) < 0 || Convert.ToInt32(num) > 255) return false;
}
return true;
}
//更改IP等方法
protected void SetIpInfo(string[] ip, string[] SubMark, string[] GateWay, 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("EnableStatic");
inPar["IPAddress"] = ip;//ip地址
inPar["SubnetMask"] = SubMark; //子网掩码
mo.InvokeMethod("EnableStatic", inPar, null);//执行
inPar = mo.GetMethodParameters("SetGateways");
inPar["DefaultIPGateway"] = GateWay; //设置网关地址 1.网关;2.备用网关
outPar = mo.InvokeMethod("SetGateways", inPar, null);//执行
inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
inPar["DNSServerSearchOrder"] = DNS; //设置DNS 1.DNS 2.备用DNS
mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);// 执行
break; //只设置一张网卡,不能多张。
}
}
#endregion
//点击我的微博跳转网页
private void 我的微博ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("http://www.2345.com/");
}
//点击关于出现的网页
private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("本软件开发于广东东软学院");
}
private void 更新ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("http://jq.qq.com/?_wv=1027&k=XYeWU8");
}
private void Addbtn_Click(object sender, EventArgs e)
{
AddIP addip = new AddIP();
addip.Show();
GetName();
}
//读取txt文件
public void ReadClass()
{
StreamReader sr = new StreamReader(path, Encoding.UTF8); //读取文件
List<string> Class = new List<string>();
int i = 0;
while (sr.EndOfStream != true)
{
string str = sr.ReadLine();
if (i % 6 == 0)
{
Class.Add(str);
}
i++;
}
sr.Close();
listBox1.DataSource = Class;
sr.Close();
}
//读取IP信息
public void ReadIP(int a)
{
StreamReader sr = new StreamReader(path, Encoding.UTF8);
List<string> IPList = new List<string>();
int j = 0;
while (sr.EndOfStream != true)
{
string str = sr.ReadLine();
if (j > a * 6 && j <= (a + 1) * 6)
{
IPList.Add(str);
}
if (j > (a + 1) * 6) break;
j++;
}
//string.substring 是系统自带的截取字符串的方法
//而replace是字符串中自带的替换方法
IPtxt.Text = IPList[0].Substring(5);
//.Replace("*", l) string l = RandomIP().ToString();
SubnetMasktxt.Text = IPList[1].Substring(5);
AcquiesceGatewaytxt.Text = IPList[2].Substring(5);
FirstDNStxt.Text = IPList[3].Substring(7);
SpareDNStxt.Text = IPList[4].Substring(9);
sr.Close();
}
//但索引值改变时,触发此方法
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
int c = listBox1.SelectedIndex;
ReadIP(c);
}
catch
{
MessageBox.Show("程序错误,请联系1142064276@qq.com");
Application.Exit();
}
}
//获取*号,用做随机
public int RandomIP()
{
Random random = new Random();
return random.Next(253);
}
//更新数据所用
private void Updatebtn_Click(object sender, EventArgs e)
{
//[]
//IP地址=172.26.22.*
//子网掩码=255.255.0.0
//默认网关=172.26.22.254
//DNS服务器=172.16.3.3
//备用DNS服务器=172.16.3.4
List<string> list = new List<string>(File.ReadAllLines(path, Encoding.UTF8));
int i = listBox1.SelectedIndex;
try
{
list[i * 6 + 1] = "IP地址=" + IPtxt.Text.Trim();
list[i * 6 + 2] = "子网掩码=" + SubnetMasktxt.Text.Trim();
list[i * 6 + 3] = "默认网关=" + AcquiesceGatewaytxt.Text.Trim();
list[i * 6 + 4] = "DNS服务器=" + FirstDNStxt.Text.Trim();
list[i * 6 + 5] = "备用DNS服务器=" + SpareDNStxt.Text.Trim();
File.WriteAllLines(path, list.ToArray());
MessageBox.Show("保存成功!");
}
catch
{
MessageBox.Show("保存错误!!!!");
}
}
//删除数据所用
private void Deletebtn_Click(object sender, EventArgs e)
{
MessageBox.Show("是否删除", "删除", MessageBoxButtons.OKCancel);
List<string> lines = new List<string>(File.ReadAllLines(path, Encoding.UTF8));
int i = listBox1.SelectedIndex;
//lines.RemoveAt(i*6);//删除第3行
lines.RemoveRange(i * 6, 6);
File.WriteAllLines(path, lines.ToArray());
MessageBox.Show("删除成功");
ReadClass();
}
//搜索查询
List<int> nameIndex = new List<int>();
private void textBox1_TextChanged(object sender, EventArgs e)
{
nameIndex.Clear(); //清空nameIndex(如果不清空,则造成一直添加问题,之后变成超出索引范围)
string txt = SelectClasstxt.Text.Trim();
int index = listBox1.SelectedIndex;
List<string> name = new List<string>();
List<string> nameShow = new List<string>();
for (int i = 0; i < listBox1.Items.Count; i++)
{
name.Add(listBox1.Items[i].ToString());
}
if (txt != "")
{
for (int i = 0; i < name.Count; i++)
{
if (name[i].Contains(txt))
{
nameShow.Add(name[i]);
nameIndex.Add(i);
}
}
//设置listbox2的属性
listBox2.Visible = true;
listBox2.DataSource = nameShow;
}
else
{
listBox2.Visible = false;
}
#region 代码注释
string txt = SelectClasstxt.Text.Trim();
//List<string> name = new List<string>();
//List<string> nameShow = new List<string>();
List<int> nameIndex = new List<int>();
//for (int i = 0; i < listBox1.Items.Count; i++)
//{
// name.Add(listBox1.Items[i].ToString());
//}
遍历全部备查数据
//foreach (var item in name)
//{
// if (item.Contains(this.SelectClasscob.Text.Trim()))
// {
// //符合,插入ListNew
// nameShow.Add(item);
// }
//}
combobox添加已经查到的关键词
//this.SelectClasscob.Items.AddRange(nameShow.ToArray());
设置光标位置,否则光标位置始终保持在第一列,造成输入关键词的倒序排列
//this.SelectClasscob.SelectionStart = this.SelectClasscob.Text.Length;
保持鼠标指针原来状态,有时候鼠标指针会被下拉框覆盖,所以要进行一次设置。
//Cursor = Cursors.Default;
自动弹出下拉框
//this.SelectClasscob.DroppedDown = true;
if (txt != "")
{
listBox2.Visible = true;
for (int i = 0; i < name.Count; i++)
{
if (name.Contains(txt))
{
nameShow.Add(name[i]);
}
}
listBox2.DataSource = nameShow;
}
#endregion
}
//listbox2索引改变事件
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
int indexlistbox2 = listBox2.SelectedIndex; //获取listbox2的索引
listBox1.SelectedIndex= nameIndex[indexlistbox2]; //将nameIndex的数值传入listbox1中,达到改变listbox的索引值
}
//设置鼠标离开事件
private void listBox2_MouseClick(object sender, MouseEventArgs e)
{
listBox2.Visible = false;
}
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
ReadClass();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace IP切换器
{
public partial class AddIP : Form
{
string path = "..\\..\\ip.txt";
public AddIP()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("请填写完整!");
}
else if(textBox2.Text=="")
{
MessageBox.Show("请填写完整!");
}
else if (textBox3.Text == "")
{
MessageBox.Show("请填写完整!");
}
else if (textBox4.Text == "")
{
MessageBox.Show("请填写完整!");
}
else if (textBox5.Text == "")
{
MessageBox.Show("请填写完整!");
}
else if (nametxt.Text == "")
{
MessageBox.Show("请填写完整!");
}
else
{
AddIPDNS(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, nametxt.Text);
Form1 form1 = new Form1();
form1.ReadClass();
this.Hide();
}
}
public void AddIPDNS(string ip, string SubMark, string GateWay, string DNS1, string DNS2, string Name)
{
try
{
StreamWriter sw = new StreamWriter(path, true,Encoding.UTF8);
//开始写入
sw.WriteLine("[{0}]", Name);
sw.WriteLine("IP地址=" + ip);
sw.WriteLine("子网掩码=" + SubMark);
sw.WriteLine("默认网关=" + GateWay);
sw.WriteLine("DNS服务器=" + DNS1);
sw.WriteLine("备用DNS服务器=" + DNS2);
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
MessageBox.Show("写入成功!");
}
catch
{
MessageBox.Show("写入错误!!!!!!!!!");
}
}
private void label6_Click(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void label3_Click(object sender, EventArgs e)
{
}
private void label4_Click(object sender, EventArgs e)
{
}
private void label5_Click(object sender, EventArgs e)
{
}
}
}
Windows.cs
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IP切换器
{
public class Windows
{
public static void winchangeip(string name, string ip, string SubMark, string GateWay, string[] DNS)
{
string text = "";
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
WinChangeIP winChangeIP = new WinChangeIP();
string msg = "正在切换IP··";
int pb = 0;
pb += 45;
if (!winChangeIP.changeIP(name, ip, SubMark, GateWay, out text))
{
if (!(text == "netsh>对象已存在。\r\n\r\n\r\nnetsh>\r\n"))
{
msg = text;
pb += 100;
return;
}
msg = "出现错误!对象已存在!!!!!自我修复中!";
string[] array = ip.Split(new char[]
{
'.'
});
if (!winChangeIP.changeIP(name, ip, SubMark, GateWay, out text))
{
msg = text;
pb += 100;
return;
}
}
msg = "正在切换首选DNS···";
pb += 25;
if (!winChangeIP.changeDNS(name, DNS[0], out text))
{
msg = text;
pb += 100;
}
else
{
msg = "正在切换备用DNS·";
pb += 25;
if (!winChangeIP.changeBDNS(name, DNS[1], out text))
{
msg = text;
pb += 100;
}
else
{
pb += 25;
stopwatch.Stop();
long runtime = stopwatch.ElapsedMilliseconds;
msg = "";
pb += 100;
}
}
}
public static void winchangipDHCP(string name,out string msg)
{
WinChangeIP winchangip1 = new WinChangeIP();
//winchangeip1.ipdhcp();
//winchangeip1.dnsdhcp();
winchangip1.ipdhcp(name,out msg);
winchangip1.dnsdhcp(name,out msg);
}
public static void winchangdnsDHCP(string name,string[] DNS,out string msg)
{
WinChangeIP winchangip2 = new WinChangeIP();
winchangip2.ipdhcp(name,out msg);
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
int pb=0;
string text;
msg = "正在切换首选DNS···";
pb += 25;
if (!winchangip2.changeDNS(name, DNS[0], out text))
{
msg = text;
pb += 100;
}
else
{
msg = "正在切换备用DNS·";
pb += 25;
if (!winchangip2.changeBDNS(name, DNS[1], out text))
{
msg = text;
pb += 100;
}
else
{
pb += 25;
stopwatch.Stop();
long runtime = stopwatch.ElapsedMilliseconds;
msg = "";
pb += 100;
}
}
}
}
public class WinChangeIP
{
string ntvison = Environment.OSVersion.Version.ToString();
public string submitcs(string exename, string cs)
{
Process process = new Process();
process.StartInfo.FileName = Environment.SystemDirectory + "\\" + exename;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.Start();
process.StandardInput.WriteLine(cs);
process.StandardInput.WriteLine("exit");
return process.StandardOutput.ReadToEnd();
}
public bool changeIP(string adapname, string ip, string mask, string gateway, out string msg)
{
string oldValue = "netsh>\r\nnetsh>\r\n";
string oldValue2 = "确定。";
string cs = string.Concat(new string[]
{
"interface ip set address name= \"",
adapname,
"\" source=static addr=",
ip,
" mask=",
mask,
" gateway=",
gateway,
" gwmetric=1"
});
msg = this.submitcs("netsh.exe", cs).Replace(oldValue, "").Replace(oldValue2, "");
return msg.Trim() == "";
}
public bool changeDNS(string adapname, string dns, out string msg)
{
string text = "";
string s = ntvison.Substring(0, 1);
if (int.Parse(s) >= 6)
{
text = " validate=no";
}
string oldValue = "netsh>\r\nnetsh>\r\n";
string oldValue2 = "配置的 DNS 服务器不正确或不存在。";
string oldValue3 = "确定。";
string cs = string.Concat(new string[]
{
"interface ip set dns name= \"",
adapname,
"\" source=static addr=",
dns,
text
});
msg = this.submitcs("netsh.exe", cs).Replace(oldValue, "").Replace(oldValue2, "").Replace(oldValue3, "");
return msg.Trim() == "";
}
public bool changeBDNS(string adapname, string bdns, out string msg)
{
string text = "";
string s = ntvison.Substring(0, 1);
if (int.Parse(s) >= 6)
{
text = " validate=no";
}
string oldValue = "netsh>\r\nnetsh>\r\n";
string oldValue2 = "配置的 DNS 服务器不正确或不存在。";
string oldValue3 = "确定。";
string cs = string.Concat(new string[]
{
"interface ip add dns name= \"",
adapname,
"\" addr=",
bdns,
" index=2",
text
});
msg = this.submitcs("netsh.exe", cs).Replace(oldValue, "").Replace(oldValue2, "").Replace(oldValue3, "");
return msg.Trim() == "";
}
public bool ipdhcp(string adapname, out string msg)
{
string oldValue = "netsh>\r\nnetsh>\r\n";
string oldValue2 = "配置的 DNS 服务器不正确或不存在。";
string oldValue3 = "确定。";
string cs = "interface ip set address name= \"" + adapname + "\" source=dhcp";
msg = this.submitcs("netsh.exe", cs).Replace(oldValue, "").Replace(oldValue2, "").Replace(oldValue3, "").Replace("netsh>已在此接口上启用 DHCP。\r\n\r\nnetsh>\r\n", "");
return msg.Trim() == "";
}
public bool dnsdhcp(string adapname, out string msg)
{
string oldValue = "netsh>\r\nnetsh>\r\n";
string oldValue2 = "配置的 DNS 服务器不正确或不存在。";
string oldValue3 = "确定。";
string cs = "interface ip set dns name= \"" + adapname + "\" source=dhcp";
msg = this.submitcs("netsh.exe", cs).Replace(oldValue, "").Replace(oldValue2, "").Replace(oldValue3, "").Replace("netsh>已在此接口上启用 DHCP。\r\n\r\nnetsh>\r\n。", "");
return msg.Trim() == "";
}
}
}
[A202]
IP地址=172.26.28.*
子网掩码=255.255.0.0
默认网关=172.26.28.254
DNS服务器=8.8.8.8
备用DNS服务器=114.114.114.114
由于当时时间的问题,所以没用到三层去做,其实这个是完全可以用三层去做的,用三层去做,代码的条理性更好一点,因为这样获取都比较好的!
所以建议你们最好用三层吧!