в Windows 7 Я могу включать и отключать подключения через панель диспетчера сетевых подключений (в настройках системы).
Как я могу сделать это программно в C #? Спасибо
Этого можно добиться в C #, используя WMI и класс WMI Win32_NetworkAdapter. Класс Win32_NetworkAdapter имеет методы Enable и Disable, которые могут выполняться на выбранном сетевом интерфейсе.
Пример использования можно найти здесь:
http://blog.opennetcf.com/ncowburn/2008/06/24/HOWTODisableEnableNetworkConnectionsProgrammaticallyUnderVista.aspx
ссылка недоступна, но заархивирована по адресу:
http://web.archive.org/web/20120615012706/http://blog.opennetcf.com/ncowburn/2008/06/24/HOWTODisableEnableNetworkConnectionsProgrammaticallyUnderVista.aspx
Вкратце, шаги для этого:
Создание оболочки для класса из командной строки VS
mgmtclassgen Win32_NetworkAdapter /L CS -p NetworkAdapter.cs
Переход через адаптеры:
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(); } }</p></li> </ol> <p>