Windows Mobile程序中如果要使用http或socket连接服务器,需要先连接网络。可以使用ConnMgrEstablishConnectionSync函数来连接。
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;
ConnMgrEstablishConnectionSync(&sConInfo, &hConnection, 15000, &dwStatus);
如果知道一个接入点的名称,则可以通过ConnMgrEnumDestinations得到相应接入点的guidDestNet。然后可以使用底层的INET接口连接HTTP了。完了吗?没有。还有个问题:代理服务器。我们都知道,移动的CMNET不需要代理,CMWAP则需要。接入点中可能含有代理服务器信息,而且接入类型包括HTTP、WAP、安全WAP、Socks等等,每一种都可能需要不同的代理。不要奢望ConnMgrEnumDestinations函数可以得到这么多的东东。
事实上,微软是提供了一个函数的,这就是传说中的ConnMgrProviderMessage。怎么样,这下总该圆满了吧?...还没完,接着往下走。
我测的结果,在真机上,这个函数从来没有成功过,Never。郁闷之极。与签名有关吗?未可知。
正面强攻不行。打枪的不要,悄悄的进村。我们来看看手机的注册表。在HKEY_LOCAL_MACHINE\Comm\ConnMgr项下,有详细的接入点的信息。Destinations子项下列出了手机所有的接入点,相应的键值有DestId这一项。我们的目光再跳到与ConnMgr平级的Providers项,也有很多信息,其中一子项{EF097F4C-DC4B-4c98-8FF6-AEF805DC0E8E},快接近我们要的宝贝了。该项有很多子项,我们遍历每一项,直到找到一个键值SrcId与我们上面说的DestId相等。看到了吧,与SrcId平级的键值有很多,不过我们目前需要的就那么两项,Type和Proxy。Type就是上面说的接入类型(HTTP、WAP、安全WAP、Socks等),而Proxy正是我们凄凄惨惨戚戚寻寻觅觅的一串字符。
以上是Windows Mobile5.0的结果。在Pocket PC2003和Smartphone2003中,HKEY_LOCAL_MACHINE\Comm\ConnMgr对应为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ConnMgr。
至此,寻宝经历告一段落。
分享到:
相关推荐
在Windows Mobile系统上配置GPRS(General Packet Radio Service)连接网络是一项基础但重要的设置步骤,它允许设备通过移动数据服务接入互联网。GPRS是一种2.5G的移动通信技术,提供了比基本GSM网络更快的数据传输...
下面将详细阐述如何在Windows Mobile 6上实现GPRS连接,并通过`WMGPRSConn.cpp`和`WMGPRSConn.h`这两个文件中的代码进行讲解。 首先,我们需要了解在Windows Mobile平台上,GPRS连接主要依赖于`CeRas`(Compact ...
总之,Windows Mobile下的GPRS连接实现涉及到网络编程、设备控制以及错误处理等多个方面。`Gprs.cpp`和`Gprs.h`文件是实现这一功能的核心,它们通过封装Winsock API和其他相关技术,为开发者提供了一种简单的方式来...
用连接管理器API可以对Windows Mobile的GPRS连接进行管理,由程序发起连接GPRS请求完成连接的建立,但是有时候不那么幸运,Internet设置里多了一些其他无效的连接或者是复位后所有连接都丢失了,那我们应该主动创建...
标题中的"GPRS.rar"指的是一个压缩包文件,其中包含了与GPRS(通用分组无线服务)相关的源代码,主要用于Windows Mobile平台。GPRS是一种移动通信技术,允许移动设备通过GSM网络进行数据传输,提供了比传统GSM更高的...
总结来说,Windows Mobile系统中的GPRS联网开发涉及到网络配置、PPP连接建立、网络状态检测、数据传输和电源管理等多个环节。通过`ConnectManager`类的实现,我们可以构建一个完整的GPRS联网框架,以满足移动设备在...
本资料包"Windows Mobile中如何建立GPRS连接以便Socket能正常通信.zip"提供了在Windows Mobile系统上建立GPRS连接并利用Socket进行通信的源码和指导。 首先,我们需要理解GPRS连接的基本原理。GPRS将移动设备接入到...
window mobile gprs 连接参考代码
以上就是Windows Mobile中建立GPRS连接并使用Socket通信的详细过程,希望对你有所帮助。如需更多资源和学习资料,可以访问http://www.59186618.com。在实际操作中,请确保遵循最新的API文档和最佳实践,以确保应用...
通过以上步骤,你应该能够成功地在Windows Mobile设备上配置GPRS连接。记住,由于网络技术和设备的发展,一些较旧的操作系统可能需要特定的驱动程序或更新来支持GPRS连接。如果你遇到问题,联系你的设备制造商或运营...
标题“WINDOWS MOBILE GPRS 源码”表明这是一个专门针对Windows Mobile操作系统的GPRS连接功能的源代码包。Windows Mobile是微软为掌上设备如智能手机和平板电脑设计的操作系统,它基于Windows CE内核,支持多种应用...
有关GPRS、CDMA开发的文章网上已经有不少,但是由于Windows Mobile SDK提供的GPRS、CDMA连接操作的库只有C++版本的(即Connection Manager API),网上的文章大多数都是C++版本的,尽管也有C#编写的但是大多封装的...
c++ c# 两个wincewindowsmobile2003 gprs网络连接 GPRSConnection GPRSDemo 在wince 编程中使用网络资源 必须先 连接网络,然后您的程序才能正常发送udp tcp包 此程序包含连接网络 源代码,包含c++ 和c#的两份源代码
在Windows Mobile设备上,RAS主要应用于建立与Internet或公司内部网络的连接,比如通过GPRS、EDGE、3G或Wi-Fi等无线技术。RASDemo可能包括了配置、建立、监控和断开这些连接的功能,使开发者和用户能够了解如何在...
最后,"GPRS开关.exe"很可能是一个用于开启或关闭GPRS连接的应用,用户可以快速切换数据网络,节约流量或者在不需要网络时关闭连接。 这些软件覆盖了日常使用的多个方面,从系统优化到文件管理,再到通信和日程规划...
总的来说,建立和维护Pocket PC上的GPRS连接涉及网络配置、PPP协议、API调用和事件处理等多个方面。对于开发者来说,理解这些概念并能够熟练运用C++进行编程是至关重要的。通过实际的代码示例,我们可以更好地理解和...
在本文中,我们将深入探讨如何在Visual Studio 2008 (VS2008) 开发环境中,利用Windows Mobile平台来开发一个基于GPRS(通用分组无线服务)的移动应用。GPRS是一种用于2G和2.5G移动通信网络的数据传输技术,它允许...
完成以上步骤后,您的Windows Mobile 6.5设备应该已经配置好与中国移动GPRS网络的连接。现在你可以尝试打开浏览器或其他应用程序,检查是否能成功接入互联网。如果遇到问题,可能需要检查SIM卡设置、网络信号强度...