Windows Mobile 6.5 c++ -确定互联网连接
Windows Mobile 6.5 C++ - Determining internet connection
我的应用程序需要每30分钟发送一些数据包,但我不想通过GPRS/EDGE等收费服务发送…我想只在WiFi/ActiveSync UP时发送。
我怎么知道:
- 目前使用Wifi作为网络
- 目前有GPRS/EDGE/UMTS…用作网络
- 当前正在使用活动同步
已解决
好的,发现工作:
void TEST()
{
CONNMGR_CONNECTION_DETAILED_STATUS *StatusBuffer;
CONNMGR_CONNECTION_DETAILED_STATUS *StatusBufferTemp;
DWORD pcbBufferSize = 0;
ConnMgrQueryDetailedStatus(NULL, &pcbBufferSize);
StatusBuffer = (CONNMGR_CONNECTION_DETAILED_STATUS *)new BYTE[pcbBufferSize];
ConnMgrQueryDetailedStatus(StatusBuffer, &pcbBufferSize);
StatusBufferTemp = StatusBuffer;
while(StatusBufferTemp != NULL)
{
if(StatusBufferTemp->dwConnectionStatus == CONNMGR_STATUS_CONNECTED)
{
if(StatusBufferTemp->dwType == CM_CONNTYPE_NIC)
{
switch(StatusBufferTemp->dwSubtype)
{
case CM_CONNSUBTYPE_NIC_WIFI :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_NIC_WIFI"),MB_OK);
break;
case CM_CONNSUBTYPE_NIC_ETHERNET :
break;
}
}
if(StatusBufferTemp->dwType == CM_CONNTYPE_CELLULAR)
{
switch(StatusBufferTemp->dwSubtype)
{
case CM_CONNSUBTYPE_CELLULAR_CSD :
break;
case CM_CONNSUBTYPE_CELLULAR_GPRS :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_CELLULAR_GPRS"),MB_OK);
break;
case CM_CONNSUBTYPE_CELLULAR_1XRTT :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_CELLULAR_1XRTT"),MB_OK);
break;
case CM_CONNSUBTYPE_CELLULAR_1XEVDO :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_CELLULAR_1XEVDO"),MB_OK);
break;
case CM_CONNSUBTYPE_CELLULAR_1XEVDV :
break;
case CM_CONNSUBTYPE_CELLULAR_EDGE :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_CELLULAR_EDGE"),MB_OK);
break;
case CM_CONNSUBTYPE_CELLULAR_UMTS :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_CELLULAR_UMTS"),MB_OK);
break;
case CM_CONNSUBTYPE_CELLULAR_VOICE :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_CELLULAR_VOICE"),MB_OK);
break;
case CM_CONNSUBTYPE_CELLULAR_PTT :
break;
case CM_CONNSUBTYPE_CELLULAR_HSDPA :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_CELLULAR_HSDPA"),MB_OK);
break;
}
}
if(StatusBufferTemp->dwType == CM_CONNTYPE_PROXY)
{
switch(StatusBufferTemp->dwSubtype)
{
case CM_CONNSUBTYPE_PROXY_WAP :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_PROXY_WAP"),MB_OK);
break;
case CM_CONNSUBTYPE_PROXY_HTTP :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_PROXY_HTTP"),MB_OK);
break;
}
}
if(StatusBufferTemp->dwType == CM_CONNTYPE_PC)
{
switch(StatusBufferTemp->dwSubtype)
{
case CM_CONNSUBTYPE_PC_DESKTOPPASSTHROUGH :
MessageBox(0,TEXT(""),_T("CM_CONNSUBTYPE_PC_DESKTOPPASSTHROUGH"),MB_OK);
break;
case CM_CONNSUBTYPE_PC_UNKNOWN :
break;
}
}
}
StatusBufferTemp = StatusBufferTemp->pNext;
}
delete StatusBuffer;
}
相关文章:
- 当套接字连接断开时检测C/C++Unix
- esp8266互联网交换机问题
- 无法在windows上使用mingw将sqlite3与c连接
- 从C++代码检查互联网连接
- 如何在非网关接口 Linux 上检测互联网连接
- 互联网连接速度与HTTP请求的编程语言速度
- 使用C或C++检查互联网连接的最快方法是什么
- 检索用于在 Windows 上使用 C++ 连接到互联网的适配器
- 如何在没有互联网连接的计算机上安装MinGW
- 在应用程序中检查互联网连接C++可靠方法:gethostbyname() 失败
- 如何将C++Wii devkitpro连接到互联网
- 如何在 Windows Mobile 中启动互联网连接
- 如果客户端的互联网断开连接,客户端套接字不会关闭。如何在服务器中检测此事件?
- 检查互联网连接或经常检查互联网连接
- Shell脚本或c++库,用于查看互联网连接并构建防火墙
- 通过无线互联网连接保持长期持续的套接字连接问题Windows
- Qt -检查互联网连接和创建线程
- 如何在基于c++/QT的安装程序中检测互联网断开连接
- Windows Mobile 6.5 c++ -确定互联网连接
- socket()和sendto()在没有互联网连接时不会返回错误代码