wince上如何判断系统是否连上网络

 

bool IsNetworkAvailable( void )
{

   bool m_IsNetworkFound=false;
   ULONG                               BufferSize = 0;    // size of buffer returned by GetAdaptersAddresses()
   DWORD                              Result  = 0;   // result codes from iphelper apis
   IP_ADAPTER_ADDRESSES  *AdapterAddresses;

   // Find out size of returned buffer
   Result = GetAdaptersAddresses(
             AF_INET,
             GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_DNS_SERVER,
             NULL,
             NULL,
             &BufferSize
             );
    
   if(BufferSize)
   {
    // Allocate sufficient Space
    AdapterAddresses = reinterpret_cast<PIP_ADAPTER_ADDRESSES>(operator new (BufferSize));
    if (AdapterAddresses != NULL)
    {
       // Get Adapter List
       Result = GetAdaptersAddresses(
             AF_INET, 
             GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_DNS_SERVER,
             NULL,
             AdapterAddresses,
             &BufferSize);

       if (Result == ERROR_SUCCESS)
       {
           // Loop through all the adapters (interfaces) returned
           for(PIP_ADAPTER_ADDRESSES pAdapterIter = AdapterAddresses; pAdapterIter != NULL; pAdapterIter = pAdapterIter->Next)
          {
             // don't use tunneling adapters
             if(pAdapterIter->IfType == IF_TYPE_SOFTWARE_LOOPBACK )
              {
                continue;
              }

           // Loop through all the addresses returned
           for(PIP_ADAPTER_UNICAST_ADDRESS pUnicastAddress = pAdapterIter->FirstUnicastAddress;
              pUnicastAddress != NULL;
              pUnicastAddress = pUnicastAddress->Next)
            {
               if(((PSOCKADDR_IN)pUnicastAddress->Address.lpSockaddr)->sin_addr.S_un.S_addr)
               {
                  printf("%s connected\r\n",pAdapterIter->AdapterName);
                  m_IsNetworkFound = true;
                 /return true;
               }
          }
       }
    }
  }
 }
  delete AdapterAddresses;
 return m_IsNetworkFound;
}

如果要判断某个指定设备,可用pAdapterIter->AdapterName。

 

转载于:https://www.cnblogs.com/cdfyanghua/archive/2010/04/07/1706329.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值