Windows CE 与Windows Mobile:
Windows Mobile 不等于windows ce ,Windows Mobile 是把windows ce作为它的内核,比如,WM 2003 的内核是WinCE 4.x, WM 5.0 的内核是WinCE version 5,Windows Mobile主要针对SP,PPC等移动设备。
Windows Mobile与Windows CE相对应的版本号:
Windows CE 4.20-à Windows Mobile 2003
Windows CE 4.21-à Windows Mobile 2003 Second Edition
Windows CE 5.0--à Windows Mobile 2005, Windows Mobile 5
特点:
Windows CE 4.20
Windows CE .NET 4.2是对Windows CE先前版本的强大功能进行了进一步的扩充和丰富,它提供了:
l 对安全和可伸缩网络的支持
l 得到增强的实时处理能力
l 更为优秀的性能表现
l 更为丰富的多媒体和Web浏览功能
l 与个人计算机、服务器、Web服务以及其它设备更为出色的互操作性
Pocket PC 2003 构建于 Windows CE 4.20 之上,而 Pocket PC 2000 和 Pocket PC 2002 构建于 Windows CE 3.0 之上。Windows CE 是通过模块化构建的操作系统,也就是说核心操作系统包含构建操作系统新实例时使用的模块和服务。构建在 Windows CE 4.20 之上的设备不会自动包含 Windows CE 4.20 的所有功能,Pocket PC 2003 也是如此。下图显示 Windows CE 4.20 的模块性。
图 1:Windows CE 4.20 是一种模块化操作系统
Windows CE 4.20 中的新操作系统功能对实际设备和 Pocket PC 2003 SDK 都有一定的影响。这些功能有:
- 改进的仿真器
- 新增和改进的蓝牙支持
- 内核增强功能,由此改进了性能,并节省了 ROM 空间
- 下一代网络层协议(如 TCP/IPv6)支持。TCP/IPv6 支持更大的地址空间。
- 改进的显示驱动程序
- 新文件系统(二进制 ROM 图像文件系统),可使 Pocket PC 2003 设备支持 NOR 或 NAND 闪存,然后要求需要模块的页面在 RAM 中执行。这将为 OEM 提供灵活性,以便在设备中权衡选择 NAND、NOR 或 RAM。
具体信息请参考:http://www.biplip.com/default.aspx?mid=348&ctl=View&ItemId=170
Windows CE 4.21
在4。20的基础上,增加了对全新的屏幕方向和分辨率,包括针对 Pocket PC 的横向、方形和 VGA 支持以及针对 Smartphone 的 QVGA 支持。这种版本不需要新的 SDK。
Windows CE 5.0
Windows CE 5.0 是 Windows CE 4.2 的后续版本。设计为逐步升级以不断满足嵌入式产品市场的需要,Windows CE 将高级的实时嵌入式操作系统与功能强大的工具结合在一起,用于快速开发下一代智能、连通、占用内存很少的设备。借助一整套完善的操作系统功能和综合开发工具,Windows CE 可包含开发人员开发、调试和部署自定义设备所需的各种功能。
Windows CE 中的组件化功能非常适合于要求丰富的联网和通信标准、硬实时内核、丰富的多媒体和 Web 浏览功能以及占用内存较少的下一代设备。
使用 Windows CE 构建操作系统的常见设备类别包括个人数字助理、工业自动化设备、医疗设备、住宅门禁以及 CD 播放机、数码相机和联网 DVD 播放机等消费类电子产品。
如何识别不同的软件版本?
第一中方法:您可以使用 GetVersionEx 函数查询最高和最低的 OS 版本以及软件的确切内部版本号。
• Windows Mobile 2002– OS Version : 3.0
• Windows Mobile 2003– OS Version : 4.20
• Windows Mobile 2003 Second Edition– OS Version : 4.21
第二中方法:
GetVersion()//定义一个判断的函数
{
OSVERSIONINFO vi;
memset(&vi, 0, sizeof(vi));
vi.dwOSVersionInfoSize = sizeof(vi);
VERIFY(GetVersionEx(&vi));
if (vi.dwMajorVersion >= 5)
{
MessageBox(NULL,_T("Version inexistence "),_T("Notice"),MB_SETFOREGROUND | MB_OK);
}
else if(vi.dwMajorVersion == 5)
{
MessageBox(NULL,_T("Version is CE 5.0 "),_T("Notice"),MB_SETFOREGROUND | MB_OK); ;
}
else if (vi.dwMajorVersion==4 && vi.dwMinorVersion>=20) {
MessageBox(NULL,_T("Version is CE 4.21 "),_T("Notice"),MB_SETFOREGROUND | MB_OK); ;
}
else
{
MessageBox(NULL,_T("Version is CE 4.20 "),_T("Notice"),MB_SETFOREGROUND | MB_OK); ;
}
}
第三种方法:
#if _WIN32_WCE < 0x500 && ( defined(WIN32_PLATFORM_PSPC) || defined(WIN32_PLATFORM_WFSP) )//判断OS版本
/*系统版本低于5.0*/
#else
/* 5.0以上的版本 */