How to disable/enable network connection in c#

praveen picture praveen · Oct 6, 2008 · Viewed 45.8k times · Source

Basically I'm running some performance tests and don't want the external network to be the drag factor. I'm looking into ways of disabling network LAN. What is an effective way of doing it programmatically? I'm interested in c#. If anyone has a code snippet that can drive the point home that would be cool.

Answer

Melvyn picture Melvyn · May 29, 2011

Found this thread while searching for the same thing, so, here is the answer :)

The best method I tested in C# uses WMI.

http://www.codeproject.com/KB/cs/EverythingInWmi02.aspx

Win32_NetworkAdapter on msdn

C# Snippet : (System.Management must be referenced in the solution, and in using declarations)

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);
    }
}