1.
a. NotifyAddrChange
仅支持ipv4
参考:
NotifyAddrChange 函数 (iphlpapi.h) - Win32 apps | Microsoft Learn
b. NotifyIpInterfaceChange
支持ipv4/ipv6
缺点:
通知有点多,断网和联网都有3+以上通知,正常时候也存在,消息过滤比较困难
参考:
NotifyIpInterfaceChange 函数 (netioapi.h) - Win32 apps | Microsoft Learn
2.
(网络变化一般伴随路由变化,通知也有点多)
a. NotifyRouteChange
仅支持ipv4
b. NotifyRouteChange2
支持ipv4/ipv6
3. RegNotifyChangeKeyValue
(监控注册表变化,网络断开无通知,但是DNS改动有通知)
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\Interfaces
参考: