Я могу сделать бесконечный таймер проверки IsInetOffline(), но я бы предпочел обратный вызов крючка, который говорит мне, когда я подключаю/отключает сетевой кабель ethernet или подключаюсь к беспроводному интернету. Есть ли такая вещь в Windows API?Есть ли крючок Windows, когда интернет подключен/отключен?
ответ
Если вы используете .NET, вы можете использовать событие System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged. Он использует API-интерфейсы Winsock под обложками, если вам нужно это сделать без .NET (Reflector it, если вы хотите узнать больше), но это неприятный асинхронный материал - не очень удобно «назовите меня, когда изменится статус сети».
Возможно, существует лучший способ, но есть асинхронная функция NotifyAddrChange в библиотеке IP-помощников, которая будет создавать уведомление при изменении адреса IPv4.
Это делается с помощью уведомлений Shell Win32 (проводник делает это)
Вы можете see here for code in C.
Ссылка не работает. – brunoqc
Добавление на каком языке (.NET?) Вы хотите получить ответ, поможет вам получить лучший ответ. – Nettogrof