许多开发人员都尝试了基于无线装置的软件编程,然而这些思想达于成功的关键之处在于他们能否深入了解Windows CE的功能和缺点。本文就此介绍了Windows CE的一些基本特性,并指出过渡到基于无线装置的软件开发所应具备的知识。
开始
Windows CE操作系统支持很多特性,并能被很多一系列不同的CPU编译。她支持多线程,包含多种可选择的GUI。诸如她的堂兄弟一样,Windows CE也具有台式计算机操作系统的特性,所以开发人员无需花太多的时间就可以很容易地进行基于Windows CE的软件开发。
在这一小节中,我们关注的是如何在基于Windows CE的Pocket PC和Pocket PC2002平台的开发。这两个平台都是通过Windows CE3.0实现的。微软也发布了一套新式的Windows CE版本,即Windows CE.NET,也就是常说的Windows CE4.0。
Pocket PC2002对象平台需要下载一套新SDK,但她集成在eMbedded Tools 3.0软件中,当编写代码时和使用Pocket PC很类似,但是她还有以下几方面的改进。
1.通讯改进
新的连接管理器
支持对象交换(OBEX)
电话API
2.可用性改进
新的消息响应系统
当前屏幕外壳
敏锐的最小化特色
3.网络浏览器的新特性
4.新的HTML控件
基于Windows CE的Pocket PC平台的开发
为了在Windows CE3.0系统中进行开发,你必需下载微软的eMbedded Tools 3.0软件,这一套软件包含了eMbedded Visual C++ 3.0和 eMbedded Visual Basic 3.0,同时她也提供了基于Pocket PC、掌上PC、变携式PC的所有SDK。Visual C++和Visual Basic都是独立的,如果你想进行特定对象平台的开发,就要下载Pocket PC2002的额外SDK。
所有的SDK都附带仿真器,你可以利用这一仿真器在台式PC机中进行模拟试验。无需一个对象Pocket PC系统,你就可以在Pocket PC或Pocket PC2002上进行开发。你所需要的是eMbedded Visual Tools 3.0软件,合适的SDK以及一台式PC机就足够了。图A和图B显示了Pocket PC和Pocket PC2002的仿真器。如果你真的想在一Pocket PC设备上开发,只要通过USB口和台式PC机连接在一起就可以了。
Pocket PC 2002 模拟器
利用eMbedded Visual Tools软件进行开发
许多开发人员都惊诧于Windows CE操作系统及其开发工具和台式机系统的开发有着很多方面的相同性。eMbedded Tools 3.0软件囊括了以下的特性:
Windows CE Pocket PC2002应用程序
Windows CE Pocket PC2002 MFC向导
Windows CE应用程序
Windows CE ATL COM 向导
Windows CE动态连接库
Windows CE MFC Active向导
Windows CE MFC向导(.dll)
Windows CE MFC向导(.exe)
Windows CE Pocket PC应用程序
Windows CE Pocket PC MFC 向导(.exe)
Windows CE 电话 2002应用程序
Windows CE 静态连接库
微软公司支持MFC,ATL及常规Win32 API。相比于台式计算机系统,Win32 API(包括MFC)都有很大的限制,例如,Windows CE系统中很多行为都不是很明显,即使她也允许你象在台式PC机那样操作。
你可以画直线,圆,椭圆,但并不支持多种映射模式。Windows CE唯一支持的是MM_TEXT方式,她也不支持坐标转换。
也许你很想知道eMbedded Visual Tools 3.0软件支持的是哪一款CPU类型。虽然袖珍PC2002只支持ARM处理器,但eMbedded Visual Tools 提供了以下CPU类型的多种选择:
ARM, MIPS, PPC, SHx, x86及THUMB。虽然eMbedded Tools作为Windows CE 3.0的编译器,她也支持很多不同的对象装置。
eMbedded Visual C++ 4.0 和Windows CE.NET
微软已经发布了一套全新的eMbedded Visual C++ 3.0版本,即所说的eMbedded Visual C++ 4.0。这一编译器主要是面象于Windows CE.NET操作系统的开发。到目前为止,还没有eMbedded Visual Basic 4.0的出现,也还没有基于eMbedded Visual C++ 4.0的Pocket PC SDK的出现。
现在,你可以到微软主页上下载eMbedded Visual C++ 4.0,并可以利用提供的仿真器进行开发。只要肯花一足够的资金,你就可以针对一硬件对象进行开发了。
本人觉得eMbedded Visual Tools 3.0最令人心烦的是她不支持C++异常行为,这样eMbedded Visual Tools 3.0不能执行标准模板类库。这些问题在eMbedded Visual Tools 4.0得以修正,所以eMbedded Visual Tools 4.0更能和C++相兼容。
开发真正意义上的应用程序
如果你已经很熟悉Visual Studio,对Windows CE 和Pocket PC你就可以快速上手。当我第一次在Pocket PC机上开发时,只花我5分钟就可以完成如“Hello World”的程序(图 C)。只需安装eMbedded Visual C++,建立工程,选择标准的MFC Pocket PC向导,然后进行编译就可以了。
Hello World application
值得注意的是,eMbedded Visual C++包括了很多额外选择,你可以利用这些去选择CPU类型和系统平台。如果你采用Pocket PC2002仿真器来开发,你可以选择Pocket PC 2002程序,Win32(WCE x86)调试器等。
如果你在真实Pocket PC2002设备中编译,可以通过USB口和台式机连接起来,然后安装eMbedded Visual C++,建立工程,建立Pocket PC 2002程序的对象,利用Win32(WCE ARM)调试器。
当建立一工程时,一定要选定和你最后可执行程序相匹配的CPU类型。如果你事先不选择CPU类型,在编译后就要花很大的精力和时间。在默认状态下,所有的CPU类型都被选择,这也是开发中最好的方法。选择额外的CPU类型是没有什么坏处的。
结论
本文我们介绍了Windows CE 3.0 和 Windows CE.NET。讨论了eMbedded Visual C++ Tools软件,并提及了Pocket PC和Pocket PC2002的一些复杂特性。在以后的章节中,我们将深入讲述Pocket PC的程序设计,特别集中讲述访问注册表和开发专业GUI的程序开发。