Dea*_*ger 5 .net c# networking windows-7
我正在尝试编写一个简单的程序来更改 C# 中的 IP 参数。我使用这段代码:如何使用 C# 代码更改网络设置(IP 地址、DNS、WINS、主机名)来 执行它,并制作了我自己的方法:
public void changerip(string adresse, string NIC)
{
ManagementObjectCollection objMOC = objMC.GetInstances();
foreach (ManagementObject objMO in objMOC)
{
if (objMO["Caption"].Equals(NIC))
{
try
{
if (adresse != "0")
{
ManagementBaseObject setIP;
ManagementBaseObject newIP =
objMC.GetMethodParameters("EnableStatic");
newIP["IPAddress"] = new string[] { "192.168." + adresse + ".50" };
newIP["SubnetMask"] = new string[] { "255.255.255.0" };
setIP = objMO.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateway;
ManagementBaseObject newGateway =
objMO.GetMethodParameters("SetGateways");
newGateway["DefaultIPGateway"] = new string[] { "192.168." + adresse + ".254" };
newGateway["GatewayCostMetric"] = new int[] { 1 };
setGateway = objMO.InvokeMethod("SetGateways", newGateway, null);
ManagementBaseObject newDNS =
objMO.GetMethodParameters("SetDNSServerSearchOrder");
newDNS["DNSServerSearchOrder"] = "192.168.1.24,192.168.1.2".Split(',');
ManagementBaseObject setDNS =
objMO.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
}
else
{
ManagementBaseObject newDNS = objMO.GetMethodParameters("SetDNSServerSearchOrder");
newDNS["DNSServerSearchOrder"] = null;
ManagementBaseObject enableDHCP = objMO.InvokeMethod("EnableDHCP", null, null);
ManagementBaseObject setDNS = objMO.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
//Save all Gateways into an array
string[] gateways = (string[])objMO["DefaultIPGateway"];
ManagementBaseObject newIP = objMO.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = objMO.GetMethodParameters("SetGateways");
//Set last value of the array(always the Gateway recived by DHCP) as the default Gateway
newGate["DefaultIPGateway"] = new string[] { gateways[gateways.Length - 1] };
newGate["GatewayCostMetric"] = new int[] { 1 };
}
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它在 Windows XP 中运行良好,但在 Windows 7(入门版或专业版)中不起作用。我没有出现任何异常,也没有来自操作系统的错误/安全消息。
有人知道发生了什么吗?
归档时间: |
|
查看次数: |
5347 次 |
最近记录: |