Я хотел бы получить уведомление, когда сетевое соединение компьютера установлено (имеет действительный IP-адрес), и я хотел бы сделать это без опроса.Существует ли Windows API, который может предоставлять эти уведомления?
Я бы начал с события System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged.
System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged
Также возможны события WMI, инициируемые при изменении набора Win32_NetworkAdapter или Win32_NetworkConnection экземпляров.
Win32_NetworkAdapter
Win32_NetworkConnection
public MainForm() { // Set listener to Check if Network Address Changed NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback); } static void AddressChangedCallback(object sender, EventArgs e) { MessageBox.Show("Network Changed"); }
http://www.codeproject.com/KB/IP/usenetworklist.aspx
"Как использовать Windows NLM API для получения уведомлений о новых сетевых подключениях"