C#實現(xiàn)一鍵換IP、重置DNS、網(wǎng)關(guān)及掩碼的方法
更新時間:2014年07月26日 17:07:54 投稿:shichen2014
這篇文章主要介紹了C#實現(xiàn)一鍵換IP、重置DNS、網(wǎng)關(guān)及掩碼的方法,很實用的功能,需要的朋友可以參考下
本文實例實現(xiàn)了C#一鍵換IP、重置DNS、網(wǎng)關(guān)及掩碼的功能,具體實現(xiàn)的功能為在程序界面窗口中設(shè)置ip地址和子網(wǎng)掩碼,設(shè)置網(wǎng)關(guān)地址,設(shè)置DNS,并且在設(shè)置過程中程序?qū)⑴袛嗳绻麤]有啟用IP設(shè)置的網(wǎng)絡(luò)設(shè)備則跳過,重置DNS為空,并開啟DHCP。
主要功能代碼如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Management;
namespace changeIP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
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;
//設(shè)置ip地址和子網(wǎng)掩碼
inPar = mo.GetMethodParameters("EnableStatic");
string ip = "";
ip = numericUpDown1.Value.ToString() + "." + numericUpDown2.Value.ToString() + "." + numericUpDown3.Value.ToString() + "." + numericUpDown4.Value.ToString();
inPar["IPAddress"] = new string[] { ip };// 1.備用 2.IP
string ym = "";
ym = numericUpDown8.Value.ToString() + "." + numericUpDown7.Value.ToString() + "." + numericUpDown6.Value.ToString() + "." + numericUpDown5.Value.ToString();
inPar["SubnetMask"] = new string[] { ym };
outPar = mo.InvokeMethod("EnableStatic", inPar, null);
//設(shè)置網(wǎng)關(guān)地址
inPar = mo.GetMethodParameters("SetGateways");
string wg = "";
wg = numericUpDown12.Value.ToString() + "." + numericUpDown11.Value.ToString() + "." + numericUpDown10.Value.ToString() + "." + numericUpDown9.Value.ToString();
inPar["DefaultIPGateway"] = new string[] { wg }; // 1.網(wǎng)關(guān);2.備用網(wǎng)關(guān)
outPar = mo.InvokeMethod("SetGateways", inPar, null);
//設(shè)置DNS
inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
string dns1 = numericUpDown16.Value.ToString() + "." + numericUpDown15.Value.ToString() + "." + numericUpDown14.Value.ToString() + "." + numericUpDown13.Value.ToString();
string dns2 = numericUpDown20.Value.ToString() + "." + numericUpDown19.Value.ToString() + "." + numericUpDown18.Value.ToString() + "." + numericUpDown17.Value.ToString();
inPar["DNSServerSearchOrder"] = new string[] { dns1, dns2 }; // 1.DNS 2.備用DNS
outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);
break;
}
}
private void button2_Click(object sender, EventArgs e)
{
ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = wmi.GetInstances();
foreach (ManagementObject mo in moc)
{
//如果沒有啟用IP設(shè)置的網(wǎng)絡(luò)設(shè)備則跳過
if (!(bool)mo["IPEnabled"])
continue;
//重置DNS為空
mo.InvokeMethod("SetDNSServerSearchOrder", null);
//開啟DHCP
mo.InvokeMethod("EnableDHCP", null);
}
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
this.Dispose();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.F2:
button1_Click(sender, e);
break;
case Keys.F3:
button2_Click(sender, e);
break;
}
}
}
}
您可能感興趣的文章:
- C#使用Dns類實現(xiàn)查詢主機名對應(yīng)IP地址
- C#中的WebRequest與WebResponse抽象類、DNS靜態(tài)類、Ping類介紹
- c# 如何對網(wǎng)絡(luò)信息進行相關(guān)設(shè)置(ip,dns,網(wǎng)關(guān)等)
- C# 兩種方式反編譯修改源碼(dnspy,ildasm & ilasm)
- C#設(shè)置本地網(wǎng)絡(luò)如DNS、網(wǎng)關(guān)、子網(wǎng)掩碼、IP等等
- C#利用WMI操作DNS服務(wù)器(可遠程操作,需要相應(yīng)權(quán)限)
- C# System.Net.Dns 使用詳解
相關(guān)文章
C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘三 鏈表
這節(jié)我們討論鏈表的基本操作,并且畫圖以證明,下屆中我們將討論雙向鏈表,環(huán)形鏈表 應(yīng)用舉例2012-11-11
通過C#實現(xiàn)獲取PDF頁面大小、方向和旋轉(zhuǎn)角度
在處理PDF文件時,了解頁面的大小、方向和旋轉(zhuǎn)角度等信息對于PDF的顯示、打印和布局設(shè)計至關(guān)重要,本文將介紹如何使用免費.NET?庫通過C#來讀取PDF頁面的這些屬性,需要的朋友可以參考下2024-08-08
C#實現(xiàn)Json轉(zhuǎn)DataTable并導(dǎo)出Excel的方法示例
這篇文章主要介紹了C#實現(xiàn)Json轉(zhuǎn)DataTable并導(dǎo)出Excel的方法,結(jié)合實例形式總結(jié)分析了Json轉(zhuǎn)換DataTable,以及DataTable導(dǎo)出Excel相關(guān)操作技巧,需要的朋友可以參考下2019-02-02

