基本上,我正在运行一些性能测试,不希望外部网络成为拖累因素。我正在研究禁用网络局域网的方法。以编程方式完成此操作的有效方法是什么?我对c#很感兴趣。如果任何人有一个代码片段可以让你明白这一点,那将是很酷的。
发布于 2011-05-30 05:22:29
在搜索相同的东西时发现了这个线程,所以,这是答案:)
我在C#中测试的最好的方法是使用WMI。
http://www.codeproject.com/KB/cs/EverythingInWmi02.aspx
Win32_NetworkAdapter on msdn
C#代码片段:(必须在解决方案和使用声明时引用System.Management)
SelectQuery wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionId != NULL");
ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(wmiQuery);
foreach (ManagementObject item in searchProcedure.Get())
{
if (((string)item["NetConnectionId"]) == "Local Network Connection")
{
item.InvokeMethod("Disable", null);
}
}发布于 2013-09-12 18:01:32
使用netsh命令,您可以启用和禁用“本地连接”
interfaceName is “Local Area Connection”.
static void Enable(string interfaceName)
{
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo("netsh", "interface set interface \"" + interfaceName + "\" enable");
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = psi;
p.Start();
}
static void Disable(string interfaceName)
{
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo("netsh", "interface set interface \"" + interfaceName + "\" disable");
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = psi;
p.Start();
}发布于 2019-06-15 22:13:52
如果你正在寻找一种非常简单的方法,你可以这样做:
System.Diagnostics.Process.Start("ipconfig", "/release"); //For disabling internet
System.Diagnostics.Process.Start("ipconfig", "/renew"); //For enabling internet确保您以管理员身份运行。我希望这对你有帮助!
https://stackoverflow.com/questions/172875
复制相似问题