在开发中,需要判断是否有网络连接,于是写了个函数,实现代码如下:

//判断是否有网络连接
static BOOL DoHaveInternetConnection()
{
BOOL bRet = FALSE; // 如果函数返回FALSE,则肯定没有连接
DWORD dwFlag;
__try
{
if (InternetGetConnectedState(&dwFlag, 0))
{
// 必须有下列任意一种连接,才认为是有连接
// 因为INTERNET_CONNECTION_CONFIGURED被置位也可能是没有连接
if ((dwFlag&INTERNET_CONNECTION_LAN) ||
(dwFlag&INTERNET_CONNECTION_MODEM) ||
(dwFlag&INTERNET_CONNECTION_PROXY))
{
bRet = TRUE;
}
}
}
__except( EXCEPTION_EXECUTE_HANDLER )
{
bRet = FALSE;
} return bRet;
}

  

05-06 22:40