解决方案 »
- 每天一问!关于多表复合查询分页效率问题!
- 正则表达式中的单元
- 请各位高手帮忙!
- 急,ACCESS 分页排序
- 同一条查询语句写在c#里运行很慢,在SQL查询器里运行很快。为什么?
- 操作iis程序池的问题,请高手帮忙
- 如何自动创建,TEXT??
- 新手,请教怎么把CheckBoxList选中项输入到数据库
- 菜问题,怎么弄带输入框的messagebox?
- 微软的例子中ApplicationConfiguration.ReadSetting的ApplicationConfiguration是什么?
- 大神们,麻烦帮我看看这个程序
- 请问各位高手,有谁知道怎么去掉Activereport6.2.3681.0的水印吗?
//自动获取IP
public void EnableDHCP()
{
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue; if (!(bool)mo["DHCPEnabled"])
{
iObj = mo.GetMethodParameters("EnableDHCP");
oObj = mo.InvokeMethod("EnableDHCP", iObj, null);
}
}
}
private ManagementBaseObject oObj = null;
private readonly ManagementObjectCollection moc;
流血不止啊,lz参考
我的目的是:能从“固定IP和DNS“中转换为“自动获取IP和DNS”。
由“自动获取IP和DNS”转为“固定IP和DNS”我已经会做了,只是反过来该怎么做?
private ManagementBaseObject iObj = null;
private ManagementBaseObject oObj = null;
private readonly ManagementObjectCollection moc;
public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric, string[]
dnsServer)
{
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
iObj = mo.GetMethodParameters("EnableStatic");
iObj["IPAddress"] = ipAddr;
iObj["SubnetMask"] = subnetMask;
oObj = mo.InvokeMethod("EnableStatic", iObj, null); iObj = mo.GetMethodParameters("SetGateways");
iObj["DefaultIPGateway"] = gateways;
iObj["GatewayCostMetric"] = gatewayCostMetric;
oObj = mo.InvokeMethod("SetGateways", iObj, null);
iObj = mo.GetMethodParameters("SetDNSServerSearchOrder");
iObj["DNSServerSearchOrder"] = dnsServer;
oObj = mo.InvokeMethod("SetDNSServerSearchOrder", iObj, null);
}
}"固定IP和DNS"是指手动设置的吗?lz参考
ManagementObjectCollection moc = searcher.Get();
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
if ((bool)mo["DHCPEnabled"])
{
//自动获取
}else{//反之}
其次,说明我的表达有问题,可能让大侠误解了。
在系统IP设置对话框中,不是有两种选择吗:
一种是“自动获取IP地址和自动获取DNS服务器地址”,
第二种是“指定IP地址和指定DNS服务器地址”。
现在我能够用C#从第一种切换到第二种,我想知道的是:如何从第二种切换到第一种(即切换到:自动获取IP及DNS服务器地址”)?网上有代码,如我在前面问题中提到的代码,我试验了不成功。不知道是为什么?是代码有问题,还是我哪里有什么机关注意到?
烦请 qlzf11140820大侠再解答即给分,非常感激!
第二种是“指定IP地址和指定DNS服务器地址”。
如何从第二种切换到第一种(即切换到:自动获取IP及DNS服务器地址”)?
---------------------------------------------------
仔细斟酌lz意思,还是认为按照一楼方法就可以实现了,自动获取IP地址(即切换到:自动获取IP及DNS服务器地址),不知是本人太笨还是语文没学好,见谅,呵呵
//或者使用此方法
private void button1_Click(object sender, EventArgs e)
{
string a = "set address name =\"本地连接\" source = dhcp";
string b = "set dns name =\"本地连接\" source = dhcp";
string c = "set wins name =\"本地连接\" source = dhcp"; Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start(); p.StandardInput.WriteLine("netsh");
p.StandardInput.WriteLine("interface");
p.StandardInput.WriteLine("ip");
p.StandardInput.WriteLine(a.ToString());
p.StandardInput.WriteLine(b.ToString());
p.StandardInput.WriteLine(c.ToString());
p.StandardInput.WriteLine("exit");
p.StandardInput.WriteLine("exit");
p.Close();
}
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
mo.InvokeMethod("SetDNSServerSearchOrder", null);
mo.InvokeMethod("EnableStatic", null);
mo.InvokeMethod("SetGateways", null);
mo.InvokeMethod("EnableDHCP", null);
}