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
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
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:
http://blog.opennetcf.com/ncowburn/2008/06/24/HOWTODisableEnableNetworkConnectionsProgrammaticallyUnderVista.aspxlink not available, but archived at:
http://web.archive.org/web/20120615012706/http://blog.opennetcf.com/ncowburn/2008/06/24/HOWTODisableEnableNetworkConnectionsProgrammaticallyUnderVista.aspx
Briefly, steps to do this are:
Generate a wrapper for the class from VS command prompt
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(); } }