2010-07-20 3 views
0

Я уже знаю, как проверить, есть ли подключение к Интернету. Но я хочу, чтобы эта функция была вызвана, когда пользователь подключает линию LAN или подключается к сети Wi-Fi. В основном я создаю Авто-Вход для своего университета.Вызов функции C# при подключении к Wi-Fi или Lan

ответ

2

На сегодняшний день самым простым методом является попытка периодически запускать стандартную процедуру автоматического входа в систему, если она работает, все хорошо, и пользователь вошел в систему, если нет, то нет соединения. Нет смысла пытаться определить, ПОЧЕМУ нет связи, если вы не используете какое-либо приложение для диагностики сетевого подключения.

1

Возможно, у вас есть поток слушателей, который просто проверяет статус подключения к Интернету и поднимает событие, если соединение появилось или потеряно.

1

Чтобы ответить на ваш точный вопрос, см дубликата вопрос на I need a event to detect Internet connect/disconnect

Но вы выбрали простой и Sanest вариант; просто попробуйте Войти через каждые 3 секунды или около того, пока вы не получите ответа сервера (который может быть «Неверное имя пользователя/пароль» ...)

3
NetworkInterface[] nics=NetworkInterface.GetAllNetworkInterfaces(); 

foreach (NetworkInterface adapter in nics) 
{ 
    if (adapter.OperationalStatus == OperationalStatus.Up) 
    { 
     if (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) 
     { 
      Console.WriteLine("Wifi"); 
     } 
    } 
} 

NetworkInterfaceType.Lan работает для LAN

+0

Этот ответ является потенциально полезным для некоторых, но, похоже, не обращается к фактическому вопросу, заданному здесь, то есть к _react_ к изменениям в состоянии сети. –