在开发中,需要判断是否有网络连接,于是写了个函数,实现代码如下:
//判断是否有网络连接 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; }