Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/92: Рейтинг темы: голосов - 92, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 8

Включить или выключить сетевой адаптер

25.11.2011, 20:35. Показов 18357. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как из кода на C# включить или отключить сетевой интерфейс? Я нашел класс NetworkInterface, но с его помощью можно только увидеть какие есть интерфейсы и в какой они состоянии. Но как изменить это состояние? Какие есть для этого классы?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2011, 20:35
Ответы с готовыми решениями:

Datagridview включить/выключить правку программно
Есть 2-а radiobutton. При true одного datagridview можна редактировать (менять значение в ячейках), при true другого нельзя. К какому...

Как включить таймер одной кнопкой, а выключить другой
подскажите пожалуйста, как включить таймер одной кнопкой, а выключить другой?

CheckBox, включить/выключить часть кода
Скажите ,как сделать так, чтобы было что-то на подобие: в чекбокс есть галочка - часть кода работает. Нет - он ее как бы пропускает,как при...

13
102 / 102 / 13
Регистрация: 22.10.2011
Сообщений: 328
26.11.2011, 07:10
C#
1
2
3
4
5
6
7
8
9
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);
    }
}
есть и другой способ (на мой взгляд немного "деревянный", но тоже вариант )
C#
1
2
3
4
5
6
7
8
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();
}
можешь еще почитать вот это
http://www.codeproject.com/KB/... Wmi02.aspx
http://msdn.microsoft.com/en-us/library/aa394216
1
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 8
26.11.2011, 23:50  [ТС]
Спасибо! Способ хороший (первый самый), но в русской винде (string)item["NetConnectionId"] возвращает "Подключение по локальной сети". К тому же его вообще можно переименовать в центре управления сетями...

Из всех свойств удобней пользоваться "AdapterType"

Добавлено через 24 минуты
И еще вопрос к этому: как узнать что какой-то сетевой адаптер подключился, кроме того, чтобы регулярно опрашивать все адаптеры? То есть мне нужно отловить момент, когда в комп вставили кабель, и тогда отключить Wi-Fi, а когда вытащили, обратно его включить?
0
162 / 158 / 19
Регистрация: 22.11.2011
Сообщений: 371
27.11.2011, 02:32
Что касается изменений состояния, то посмотрите на класс NetworkChange.

А выключение/включение и правда без бубна не сделаешь... а WMI может быть отключен, кстати.
0
102 / 102 / 13
Регистрация: 22.10.2011
Сообщений: 328
27.11.2011, 07:59
Цитата Сообщение от SpawnDDR Посмотреть сообщение
и правда без бубна не сделаешь
Я тоже думаю что тут бутылка нужена, т.к. сильно сомневаюсь что в мелкософте специально для тебя (думая о неком Ivanov22ivan) замутили какой нить тригер.
0
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 8
27.11.2011, 09:41  [ТС]
Ну почему же только для меня Ведь когда втыкаешь провод в панели управления сетями показывается что адаптер подключен - а значит какой-то триггер уже есть.
0
162 / 158 / 19
Регистрация: 22.11.2011
Сообщений: 371
27.11.2011, 10:09
Ivanov22ivan,
Цитата Сообщение от SpawnDDR Посмотреть сообщение
Что касается изменений состояния, то посмотрите на класс NetworkChange.
А включение/отключение по-хорошему только через WinAPI делается.
0
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 8
27.11.2011, 10:26  [ТС]
Цитата Сообщение от SpawnDDR Посмотреть сообщение
Что касается изменений состояния, то посмотрите на класс NetworkChange.

А выключение/включение и правда без бубна не сделаешь... а WMI может быть отключен, кстати.
Спасибо! Это то что нужно.
0
1 / 1 / 2
Регистрация: 07.03.2012
Сообщений: 77
07.03.2012, 14:43
SNOOPYKZ, у меня первый код выдает ошибку в этом месте

item.InvokeMethod("Disable", null); - Этот метод не реализован ни в одном из классов подскажите что делать
0
1 / 1 / 2
Регистрация: 07.03.2012
Сообщений: 77
16.03.2012, 10:45
проблема заключалась в том что Винда должна быть не ниже Висты! Есть способы отключения на 2000/XP?
0
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 310
11.04.2015, 22:49
Задался вопросом отключения сетевого адаптера.
Код который написал SNOOPYKZ работает, но адаптер не отключает.
C#
1
2
3
4
5
6
7
8
var wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionId != NULL");
            var searchProcedure = new ManagementObjectSearcher(wmiQuery);
            foreach (var o in searchProcedure.Get())
            {
                var item = (ManagementObject)o;
                if (((string)item["NetConnectionId"]) == "Подключение по локальной сети") 
                    item.InvokeMethod("Disable", null);                
            }
Подскажите, что можно сделать?
Windows 7 x64.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
11.04.2015, 23:08
Единый для всех версий Windows (от 5.1 и выше), способ для вкл\выкл сетевого адаптера
1
2 / 2 / 0
Регистрация: 04.02.2019
Сообщений: 26
27.07.2020, 06:16
я делаю через win api
C#
1
2
3
4
5
6
Process aq = new Process();
                        aq.StartInfo.UseShellExecute = false;
                        aq.StartInfo.FileName = "cmd.exe";
                        aq.StartInfo.Arguments = "/C " + "netsh interface set interface name= имя сетевого подключения  admin=DISABLE";
                        aq.StartInfo.CreateNoWindow = true;
                        aq.Start();
включать точно также только в команде нужно писать ENABLE
2
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 16
17.06.2021, 08:20
Привет, всё верно только у вас не совсем правильно)
Вот так точнее будет:

C#
1
2
3
4
5
6
Process aq = new Process();
            aq.StartInfo.UseShellExecute = false;
            aq.StartInfo.FileName = "cmd.exe";
            aq.StartInfo.Arguments = "/C " + "netsh interface set interface name=ORAKUL_STORM  admin=ENABLED";
            aq.StartInfo.CreateNoWindow = true;
            aq.Start();
Вы написали ENABLE, но у адаптера свойство называется ENABLED\DISABLED ошибка в одной букве)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.06.2021, 08:20
Помогаю со студенческими работами здесь

Как включить или отключить сетевой адаптер?
Приветствую, парни подскажите где взять скрипт под WIN8 который бы запускался через планировщик заданий по времени. Батник есть но он не...

Как включить или отключить сетевой адаптер?
Необходимо включить или отключить сетевой адаптер через командную строку, подскажите если ли такая команда!

Включить / отключить сетевой адаптер от имени оператора сети без ввода пароля
Добрый день уважаемые форумчане !!! Тема уже не раз была Сильно не пинайте - Я с другой стороны к этому вопросу хотел бы подойти ... ...

Можно ли через ардуино по USB посредством кнопки или сенсора включить или выключить монитор компютера?
Можно ли через ардуино по USB при помощи кнопки или сенсора включить или выключить монитор компютера?

Сетевой адаптер или интернет - не работает
Здравствуйте интернет на компе очень тугой, подключен через лан от вай-фая. Сам провод работает,проверял. А вот на компе не хочет....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru