NotifyRouteChange能监听网络通断吗?
NotifyRouteChange
路由变化通知,网上说,网络通断时,路由表会发生变化,将会有通知发生.这种说法对吗?
基于这种说法,我建立了一个监测网络通断的线程,没有达到预期的效果:
//主线程
{
HANDLE handle = ::CreateThread(0, 0, WaitForEvent, (LPVOID)m_hWnd, 0, 0);
::CloseHandle(handle);
}
//监听线程
DWORD WINAPI WaitForEvent(LPVOID lpParam)
{
HANDLE handle = WSACreateEvent();
OVERLAPPED overlap;
overlap.hEvent = handle;
while (1)
{
HANDLE h2;
::NotifyRouteChange(&h2, &overlap);
if (WaitForSingleObject(h2, INFINITE) == WAIT_OBJECT_0)
{
::SendMessage((HWND)lpParam, WM_NETWORKCHANGED, 0, 0);
}
}
return 0;
}