Windows Mobile程序中如果要使用http或socket连接服务器,需要先连接网络。可以使用ConnMgrEstablishConnecti
DWORD dwStatus = 0;
HANDLE hConnection = NULL;
CONNMGR_CONNECTIONINFO sConInfo;
memset(&sConInfo, 0 ,sizeof(CONNMGR_CONNECTIONINFO));
sConInfo.cbSize = sizeof(CONNMGR_CONNECTIONINFO);
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP
|CONNMGR_FLAG_PROXY_WAP
|CONNMGR_FLAG_PROXY_SOCKS4
|CONNMGR_FLAG_PROXY_SOCKS5;
sConInfo.bExclusive = FALSE;
sConInfo.bDisabled = FALSE;
sConInfo.guidDestNet = IID_DestNetWAP;
ConnMgrEstablishConnecti
事实上,微软是提供了一个函数的,这就是传说中的ConnMgrProviderMessage。怎么样,这下总该圆满了吧?...还没完,接着往下走。
我测的结果,在真机上,这个函数从来没有成功过,Never。郁闷之极。与签名有关吗?未可知。
以上是Windows Mobile5.0的结果。在Pocket PC2003和Smartphone2003中,HKEY_LOCAL_MACHINECommConnMgr对应为 HKEY_LOCAL_MACHINESOFTWAREMicrosoft
PC中如何判断网络已经连接或者断开
文章分类:移动开发 在PPC的开发中有时需要判断网络什么时候连接,什么时候断开,并且做出相应的处理。比如说TimeSyncPPC程序,就需要在网络连接之后得到消息然 后去下载时间同步信息,因此就必须要一种方法让TimeSyncPPC程序在PPC连接网络之后得到系统的消息。当然有人说可以不断去轮询看系统是否连接 到网络了,但这绝对不是一个好方法。其实Windows Mobile 5.0之后微软已经提供了一个专门的函数来得到网络状态变化的Notification,我们要做的就是等待这个消息,函数如下:
HRESULT WINAPI ConnMgrRegisterForStatus
);
S_OK
E_HANDLE
E_ACCESSDENIED
#define CONNMGR_STATUS_CHANGE_NOTIFICATION_MSG TEXT("CONNMGR_STATUS_CHANGE_NOTIFICATION_MSG")
m_ConnectMsg = RegisterWindowMessage(CONNMGR_STATUS_CHANGE_NOTIFICATION_MSG);
#include "connmgr_status.h"
#include "connmgr.h"
#pragma comment(lib,"wininet.lib")
#pragma comment(lib,"cellcore.lib")
UINT m_ConnectMsg;
BOOL CXXXXDlg::OnInitDialog()
{
}
LRESULT CXXXXDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
}