【发布时间】:2016-07-07 03:39:48
【问题描述】:
公共类 NetworkConfig
{
公共枚举网络类型
{
静止的,
动态的
}
public bool SetNetworkConfiguration(string adaptName, string cIPAddress, string cSubnetMask,string cGateway, string[] cDNS, NetworkType nType)
{
var mClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
var nCol = mClass.GetInstances();
foreach(nCol 中的 ManagementObject mObject)
{
string searchAdapt = (string)mObject["Description"];
if (string.Compare(adaptName, searchAdapt, StringComparison.InvariantCultureIgnoreCase) == 0)
{
尝试
{
如果(nType == NetworkType.Static)
{
//게이트웨이셋
ManagementBaseObject newConfig_Gateway = mObject.GetMethodParameters("SetGateways");
ManagementBaseObject setConfig_Gateway;
newConfig_Gateway["DefaultIPGateway"] = new string[] { cGateway };
newConfig_Gateway["GatewayCostMetric"] = new int[] { 1 };
setConfig_Gateway = mObject.InvokeMethod("SetGateways", newConfig_Gateway, null);
//아이피, 서브마스크 셋
ManagementBaseObject newConfig_IPAddress = mObject.GetMethodParameters("EnableStatic");
ManagementBaseObject setConfig_IPAddress;
newConfig_IPAddress["IPAddress"] = 新字符串[] { cIPAddress };
newConfig_IPAddress["SubnetMask"] = new string[] { cSubnetMask };
setConfig_IPAddress = mObject.InvokeMethod("EnableStatic", newConfig_IPAddress, null);
//DNS셋
ManagementBaseObject newConfig_DNS = mObject.GetMethodParameters("SetDNSServerSearchOrder");
ManagementBaseObject setConfig_DNS;
newConfig_DNS["DNSServerSearchOrder"] = cDNS;
setConfig_DNS = mObject.InvokeMethod("SetDNSServerSearchOrder", newConfig_DNS, null);
}
否则如果(nType == NetworkType.Dynamic)
{
mObject.InvokeMethod("EnableDHCP", null);
}
别的
{
返回假;
}
返回真;
}
抓住
{
返回假;
}
}
}
返回假;
}
}
我试过了,但没有用。如何更改网络配置?
【问题讨论】:
-
程序是否抛出异常?你调试过你的代码吗?
-
致 Jeroen Heier / 我正在调试,没有抛出异常
标签: c# configuration system