Programmatically Enable / Disable Connection
13,385
You can achieve this in C# by leveraging WMI and the Win32_NetworkAdapter WMI class. The Win32_NetworkAdapter class has Enable and Disable methods which can be executed on a selected network interface.
An example of usage can be found here:
link not available, but archived at:
Briefly, steps to do this are:
-
Generate a wrapper for the class from VS command prompt
mgmtclassgen Win32_NetworkAdapter /L CS -p NetworkAdapter.cs
-
Stepping through the adapters:
SelectQuery query = new SelectQuery("Win32_NetworkAdapter", "NetConnectionStatus=2"); ManagementObjectSearcher search = new ManagementObjectSearcher(query); foreach(ManagementObject result in search.Get()) { NetworkAdapter adapter = new NetworkAdapter(result); // Identify the adapter you wish to disable here. // In particular, check the AdapterType and // Description properties. // Here, we're selecting the LAN adapters. if (adapter.AdapterType.Contains("Ethernet 802.3")) { adapter.Disable(); } }
Author by
pistacchio
Updated on July 18, 2022Comments
-
pistacchio almost 2 years
on Windows 7 I can enable and disable connections via the Network Connections Manager panel (in system settings).
How can I do this programmatically in C#? Thanks