如何在c#中更改本机的IP地址?c#,winform,asp.net都可以要实现的功能是:
1.在自动获得IP和使用下面IP之间切换
2.可以更改IP,子网,DNS高手帮下忙~
1.在自动获得IP和使用下面IP之间切换
2.可以更改IP,子网,DNS高手帮下忙~
解决方案 »
- CPU 的时候 !clrstack 信息被我抓出来了。。但是自己看不出问题所在。。有没高人指点下
- 正则表达式
- C# 如何判断子窗体是被哪个父窗体打开的?
- 请问:vs2005中,提示:验证(XHTML 1.0 Transitional):此名称包含大写字母
- c# 本地共享对象问题
- SQL游标查询问题
- .net 中线程池问题
- 在线等,痛下100分:极度郁闷和抓狂的问题,描述清晰.大家都进来看看,帮帮我啊,我都要晕了~~~~~
- 200分求完整的C#对ACCESS数据库的增删改查操作代码!不够的另贴帖加分,在线等,急急急!!!!
- 实现手机APP的功能
- nhibernate关于事物提交时报错
- 急救!!datagrid模板列放checkbox问题
netsh -c int ip dump >c:\net.txt需要切换时用process运行
netsh -f c:\net.txt具体使用查netsh帮助
using System;
using System.Management;
using System.Threading;
using System.Net;
using System.Net.Sockets;namespace WmiIpChanger
{
class IpChanger
{
[MTAThread]
static void Main(string[] args)
{
ReportIP();
// SwitchToDHCP();
SwitchToStatic();
Thread.Sleep( 5000 );
ReportIP();
Console.WriteLine( "end." ); Console.ReadLine();
} static void SwitchToDHCP()
{
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("EnableDHCP");
outPar = mo.InvokeMethod( "EnableDHCP", inPar, null );
break;
}
} static void SwitchToStatic()
{
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"] = new string[] { "10.1.11.78" };
inPar["SubnetMask"] = new string[] { "255.255.255.0" };
outPar = mo.InvokeMethod( "EnableStatic", inPar, null );
break;
}
} static void ReportIP()
{
Console.WriteLine( "****** Current IP addresses:" );
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach( ManagementObject mo in moc )
{
if( ! (bool) mo[ "IPEnabled" ] )
continue; Console.WriteLine( "{0}\n SVC: '{1}\n' MAC: [{2}]", (string) mo["Caption"],
(string) mo["ServiceName"], (string) mo["MACAddress"] ); string[] addresses = (string[]) mo[ "IPAddress" ];
string[] subnets = (string[]) mo[ "IPSubnet" ]; Console.WriteLine( " Addresses :" );
foreach(string sad in addresses)
Console.WriteLine( "\t'{0}'", sad ); Console.WriteLine( " Subnets :" );
foreach(string sub in subnets )
Console.WriteLine( "\t'{0}'", sub );
}
}
}
}