Перехватить подключение к сети, применить настройки
Есть задача: при подключении сетевого кабеля мне нужно каким-то образом определить ,что установлено соединение с сетью и применить необходимые для работы с ней настройки(установить IP-адрес, маску подсети, основной шлюз, DNS и установки принтера по-умолчанию), которые записываются для каждой новой сети пользователем в отдельные профили, а затем при повторном подключении к данной сети автоматически загружаются.
Кстати, нужно учитывать и беспроводную сеть.
Нашёл немного инфы по изменению настроек с помощью редактирование реестра. Как иначе это ещё можно сделать?
UP. никто ничем не может помочь?
Судя по упоминанию реестра, речь идёт о Винде. С этим разобрались.
Язык какой?
В C# можно использовать System.Net.NetworkInformation.NetworkChange.
Настройки применять получается. Но вот в чём проблема: дома у меня динамический IP, в общаге - статический. в зависимости от того, в какой я нахожусь сети, мне надо выбирать определённые настройки. настройки хранятся в профилях, которые должны применяться автоматически. т.е. как мне программно узнать, в какой я сети? т.е. как узнать, что я подсоединился к локалке дома или что сейчас я в общаге и надо применить настройки со статическим IP?
IPAddressInformation.
Я не знаю, по какому признаку будет лучше всего определять, что сеть другая.
Можно по названию адаптера или по его Id.
alexbelij, смотрите классы из пространств имён System.Net и System.Net.NetworkInformation. Примеры кода в MSDN есть. Например
Я не знаю, по какому признаку будет лучше всего определять, что сеть другая.
Можно по названию адаптера или по его Id.