#include <Netlistmgr.h>
static bool checkIsNetwork()
{
CoInitialize(NULL);
// 通过NLA接口获取网络状态
IUnknown *pUnknown = NULL;
BOOL bOnline = TRUE;//是否在线
HRESULT Result = CoCreateInstance(CLSID_NetworkListManager, NULL, CLSCTX_ALL,
IID_IUnknown, (void **)&pUnknown);
if (SUCCEEDED(Result))
{
INetworkListManager *pNetworkListManager = NULL;
if(pUnknown)
Result = pUnknown->QueryInterface(IID_INetworkListManager, (void
**)&pNetworkListManager);
if (SUCCEEDED(Result))
{
VARIANT_BOOL IsConnect = VARIANT_FALSE;
if(pNetworkListManager)
Result = pNetworkListManager->get_IsConnectedToInternet(&IsConnect);
if (SUCCEEDED(Result))
{
bOnline = (IsConnect == VARIANT_TRUE) ? true : false;
}
}
if (pNetworkListManager)
pNetworkListManager->Release();
}
if(pUnknown)
pUnknown->Release();
CoUninitialize();
return bOnline;
}