在编程WM平台的网络应用程序时,需要判断当前是否连接了网络,方法有两种:
1. InternetGetConnectedState()
参数具体看MSDN
这种方法不能实时检测网络。
2. 可以实时检测网络
#include <connmgr.h>
#include <connmgr_status.h>
bool m_bhHttp; //表示当前网络是否连接
HRESULT ret = ConnMgrRegisterForStatusChangeNotification(TRUE, g_hWnd);
UINT m_ConnectMsg = RegisterWindowMessage(CONNMGR_STATUS_CHANGE_NOTIFICATION_MSG);
然后在窗口消息回调函数中处理:
//网络状态改变的发出的消息
if (m_ConnectMsg == uMsg)
{
switch (wParam)
{
case CONNMGR_STATUS_CONNECTED: //连接
m_bHttp = true;
break;
case CONNMGR_STATUS_DISCONNECTED: //未链接
m_bHttp = false;
break;
}
}
本文介绍了在WM平台上通过两种方式来检测当前设备的网络状态。第一种方式是使用InternetGetConnectedState()函数,但该方法无法实时监测网络变化。第二种方式则通过ConnMgr注册状态更改通知实现实时监测。
7962

被折叠的 条评论
为什么被折叠?



