2009-10-21 2 views
1

Я могу сделать бесконечный таймер проверки IsInetOffline(), но я бы предпочел обратный вызов крючка, который говорит мне, когда я подключаю/отключает сетевой кабель ethernet или подключаюсь к беспроводному интернету. Есть ли такая вещь в Windows API?Есть ли крючок Windows, когда интернет подключен/отключен?

+0

Добавление на каком языке (.NET?) Вы хотите получить ответ, поможет вам получить лучший ответ. – Nettogrof

ответ

2

Если вы используете .NET, вы можете использовать событие System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged. Он использует API-интерфейсы Winsock под обложками, если вам нужно это сделать без .NET (Reflector it, если вы хотите узнать больше), но это неприятный асинхронный материал - не очень удобно «назовите меня, когда изменится статус сети».

0

Возможно, существует лучший способ, но есть асинхронная функция NotifyAddrChange в библиотеке IP-помощников, которая будет создавать уведомление при изменении адреса IPv4.

0

Это делается с помощью уведомлений Shell Win32 (проводник делает это)
Вы можете see here for code in C.

+0

Ссылка не работает. – brunoqc