问:什么是 Windows Mobile?
答:Windows Mobile 是 Microsoft 用于 Pocket PC 和 Smartphone 的软件平台。Windows Mobile 将熟悉的 Windows 桌面扩展到了个人设备中。
问:Pocket PC 和 Smartphone 之间有什么不同?
答:考虑 Pocket PC 和 Smartphone 的主要使用特性方面。Smartphone 主要是在格式因素和使用两方面作为一种电话设备而设计的。它经过良好的微调,可以用于发出和接收呼叫,并且还可以作为消息处理设备。Pocket PC 主要是作为一种小型个人计算机而设计的,对于查看和管理数据与增强消息处理而言很不错。某些 Pocket PC 设备也具有电话功能。您应当尽量根据目标 Windows Mobile 设备的使用特性来调整您的应用程序。
问:Pocket PC 和 Smartphone 有哪些不同的版本(例如 2002、2003)?
答:Windows Mobile 软件的每个新版本都是在可供开发人员使用的丰富的现有开发平台上构建的,而同时保持了一致的核心,这样应用程序就可以面向各种设备了。目前有三种通用的 Windows Mobile 软件版本:
• Windows Mobile 2002 软件:运行设备的软件有时称为 Pocket PC 2002 和 Smartphone 2002。新的开发人员功能包括 MAPI 和连接管理器。
• Windows Mobile 2003 软件:2003 软件版本将 .NET Compact Framework 添加到基于 2003 的设备 ROM。这使得开发人员能够为基于 Windows Mobile 2003 的设备编写托管代码应用程序。其他的新功能包括配置管理器、蓝牙可编程性和 SMS 截获支持。
• Windows Mobile 2003 Second Edition:Second Edition 版本使得设备制造商能够通过该版本的主要功能(例如,对 Pocket PC 的横向、方形和高分辨率屏幕以及 Smartphone 的 QVGA 屏幕的支持)进行创新。其命名反映了开发平台的一致性,这对于此版本也没有改变,所有支持新屏幕方向和分辨率的 API 始终是平台的一部分。
问:我如何识别不同的软件版本?
答:Pocket PC 和 Smartphone 在 Settings 中都有一个 About 面板。Settings 可以从两种设备的 Start 菜单找到。
根据代码,您可以使用 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
问:为了支持 Windows Mobile 2003 Second Edition 的增强功能(例如高分辨率或横向屏幕),我应该在我的应用程序中做些什么?
答:Windows Mobile 2003 Second Edition 提供了全新的屏幕方向和分辨率,包括针对 Pocket PC 的横向、方形和 VGA 支持以及针对 Smartphone 的 QVGA 支持。这种版本不需要新的 SDK。
1. 阅读Windows Mobile 2003 Second Edition Developer Resources 软件包中白皮书上的最佳做法。
2. 测试您的应用程序,使用 Pocket PC 与 Smartphone 的 Windows Mobile 2003 Second Edition 模拟器。
3. 使应用程序屏幕方向和分辨率保持独立,这样您就可以使用一个代码基以 Windows Mobile 平台上的全部硬件创新为目标了。
下载新的 Windows Mobile Developer 资源包 ,其中包括新的和更新的代码示例及白皮书。
Pocket PC 开发
问:什么工具可用于 Pocket PC 2003 开发?
答:要构建 Pocket PC 2003 本机 C++ 应用程序,您需要 Microsoft® eMbedded Visual C++® 4.0、Microsoft® eMbedded Visual C++® 4.0 Service Pack 3,以及 Pocket PC 2003 软件开发工具包。您可以下载 eMbedded Visual C++ 工具和 Pocket PC 2003 SDK。Windows Mobile 2003 Second Edition 模拟器包使您可以在 Second Edition 设备上测试您的应用程序。注意,Pocket PC 2003 SDK 不支持 Microsoft® eMbedded Visual Basic® 开发。要构建 Pocket PC 2003 托管代码应用程序,您需要 Visual Studio .NET 2003 和 Pocket PC 2003 SDK。
要构建 Pocket PC 移动 Web 应用程序,可以使用 Visual Studio .NET 2003 中的 ASP.NET 移动控件。
问:Pocket PC 2002 应用程序可以在 Pocket PC 2003 设备上工作吗?
答:使用文档化 API 且功能良好的 Pocket PC 2002 应用程序无需重新编译即可在 Pocket PC 2003 设备上运行。
问:为什么 Pocket PC 2003 不再支持 eVB 开发?
答:在 Pocket PC 2003 设备中我们将继续支持 eVB 运行时作为一个可安装的 RAM 组件,这样旧的 eVB 应用程序就能够在新的设备上运行,但是离开 Visual Basic® .NET、Visual C#® .NET 和 Microsoft® .NET Compact Framework 更强大健壮的开发体验,Pocket PC 2003 设备的新 eVB 开发将不受支持。
根据客户的反馈,Pocket PC 2003 设备将在 ROM 中包含 .NET Compact Framework。.NET Compact Framework 是完整的 .NET Framework 的一个子集,是专门为智能设备设计的。它是一种比 Pocket PC 2000 和 Pocket PC 2002 设备中提供的特定于 eVB 运行时的更加全面且与语言无关的应用程序引擎。
问:如何从 eVB 迁移到 Visual Basic .NET?
答:从 eVB 迁移到 Visual Basic .NET 并不容易,但迁移的好处远远超过了成本:
• 数据类型更丰富:eVB 只有 16 字节的 VARIANT;Visual Basic .NET 使用 .NET Framework 通用类型系统。
• 执行更快:eVB 需要解释;Visual Basic .NET 在执行前 JIT(实时)编译为本机代码
• 错误处理更完善:eVB 仅支持“On Error”;Visual Basic .NET 支持结构化异常处理
• 支持结构:eVB 不支持;Visual Basic .NET 支持命名空间、类和结构
• 面向对象:eVB 是过程性的;Visual Basic .NET 支持完全的 OOP(面向对象编程)
• 一流公民:eVB 总是想迎头赶上 MFC;Visual Basic .NET 是核心 .NET
• 本机 XML 支持:eVB 不支持;Visual Basic .NET 支持本机 XML 和 XML Web 服务
• 数据模型更完善:ADO.NET 远远超过了 ADOCE;它仍是最好的数据模型
• 执行更安全、更可靠:eVB 是一种脚本语言;Visual Basic .NET 为托管代码
• 还有许许多多!
同时,还有各种各样的资源(从移植实验到技术文章)可以帮助开发人员进行这种过渡。一个例子就是一篇概述如何从 eVB 迁移到 Visual Basic .NET 及其优点的技术文章: Moving from eMbedded Visual Basic to Visual Basic .NET。
问:我使用什么开发工具来编写基于 .NET Compact Framework 的 Pocket PC 应用程序?
答:Microsoft® Visual Studio® .NET 2003 允许 Visual Basic .NET 或 C# 编程人员创建 Pocket PC 2000、Pocket PC 2002 和 Pocket PC 2003 设备的托管代码应用程序(即那些以 .NET 公共语言运行库为目标的应用程序)。要开发 Pocket PC 2000 和 Pocket PC 2002 设备的托管代码应用程序,您可以使用即装即用的 Visual Studio .NET 2003。在开发过程中,Visual Studio .NET 2003 将会自动地将 .NET Compact Framework 安装到这些设备的 RAM 中。.NET Compact Framework 已经在所有 Pocket PC 2003 设备的 ROM 中,而且 Visual Studio .NET 2003 通过 Pocket PC 2003 SDK 支持它。
问:有什么资源可以用于进行 Windows Mobile 2003 Second Edition 开发?
下载新的 Windows Mobile Developer 资源包 ,其中包括白皮书以及新的和更新的代码示例。该版本不需要全新的 SDK。
可以用新的模拟器软件包测试您的应用程序。
eMbedded Visual C++ 4.0 开发人员应当下载 eMbedded Visual C++ 4.0 Service Pack 3。
Smartphone 开发
问:什么工具可用于 Smartphone 2002 开发?
答:要开始开发 Microsoft Smartphone 2002 应用程序,您需要 eMbedded Visual C++ 3.0 和 Smartphone 2002 SDK。两者都可以在 Windows Mobile Developer 获得。
问:何时可以将 .NET Compact Framework 用于 Smartphone 2002?
答:.NET Compact Framework 的第一个版本重点为成功的 Pocket PC 类别设备提供智能设备编程支持。将 .NET Compact Framework 添加到 Smartphone 的 Smartphone 2003 版本中。没有发布用于 Smartphone 2002 的 .NET Compact Framework 版本的计划。
问:MFC 或 ATL 可用于 Smartphone 2002 开发吗?
答:不可以,Smartphone 2002 不支持 MFC 与 ATL 开发。
问:可以使用 eMbedded Visual Basic 3.0 来构建 Smartphone 2002 应用程序吗?
答:不可以,不支持以 Smartphone 2002 为目标的 eVB 开发。
问:什么工具可用于进行 Microsoft Smartphone 2003 编程?
答:对于 Smartphone 2003 版本,有两种开发选择,或者通过带有 Service Pack 3 的 eMbedded Visual C++ 4.0 开发本机代码,或者通过 Visual Studio .NET 2003 开发托管代码。两种情况都需要下载 Smartphone 2003 SDK。Windows Mobile 2003 Second Edition 模拟器软件包使您可以在 Second Edition 设备上测试应用程序。
eMbedded Visual C++ 4.0 和 Smartphone 2003 SDK 都可以在 Windows Mobile Developer 获得。
问:在 Smartphone 2003 上可以使用 .NET Compact Framework 的哪一个版本?
答:Smartphone 2003 允许开发人员使用 .NET Compact Framework 1.0 Service Pack 1 进行编码。.NET Compact Framework 可以放在 Smartphone 2003 的 ROM 中。.NET Compact Framework 1.0 Service Pack 2 放在 Smartphone 2003 Second Edition 的 ROM 中。
问:Smartphone 2002 应用程序可以在 Smartphone 2003 设备上工作吗?
答:使用文档化 API 且功能良好的 Smartphone 2002 应用程序无需重新编译即可在 Smartphone 2003 设备上运行。
问:什么是示例 Smartphone 2002 设备和 Smartphone 2003 设备?
答:原始的 Orange SPV 与 Orange SPV e100 运行 Windows Mobile 2002。Orange 和 AT&T 上的 MPX200 都是基于 Windows Mobile 2002 的 Smartphone。Orange SPV e200 运行 Windows Mobile 2003。
问:MFC 或 ATL 可用于 Smartphone 2003 开发吗?
答:MFC 不可用于 Smartphone 2003。可以使用 ATL 4.0 进行 Smartphone 2003 开发。有关 ATL 4.0 的更多信息,请参阅 SDK 文档。
问:在何处我可以找到更多有关 Smartphone 应用程序安全模型的信息?
答:为了帮助开发人员了解基于 Windows Mobile 的 Smartphone 应用程序安全模型,我们创作了一本白皮书。请参见 http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/smartphone_security.asp。
问:什么是提示模式?
答:OEM 或运营商可以将提示模式包含在他们的 Smartphone 应用程序安全策略中,从而允许用户来决定在安装或运行时是否安装或运行一个应用程序。
问:可以使用 eMbedded Visual Basic 3.0 来构建 Smartphone 2003 应用程序吗?
答:不可以,不支持以 Smartphone 2003 为目标的 eVB 开发。如果您希望利用 Visual Basic 的开发技巧,可以考虑使用 Visual Basic .NET 并以 .NET Compact Framework 为目标。
问:有什么资源可以用于进行 Windows Mobile 2003 Second Edition 开发?
下载新的 Windows Mobile Developer 资源包 ,其中包括白皮书以及新的和更新的代码示例。
可以使用新的模拟器软件包来测试您的应用程序。
eMbedded Visual C++ 4.0 开发人员应当下载用于 eMbedded Visual C++ 4.0 的 Service Pack 3。
移动开发工具
问:什么是 Microsoft eMbedded Visual Tools 3.0?
答:eMbedded Visual Tools 3.0 是一种集成开发环境 (IDE),移动开发人员用来为基于 Microsoft Windows CE 操作系统的 32 位设备编写软件应用程序。包括完整版的 Microsoft eMbedded Visual C++ 3.0 语言、Microsoft eMbedded Visual Basic 3.0 语言、特定于平台的 SDK、远程工具和文档。
问:eMbedded Visual Tools 3.0 支持什么设备平台?
答:eMbedded Visual Tools 3.0 - 2002 Edition 附带于 Pocket PC 2000、Pocket PC 2002 和 Smartphone 2002 的 SDK,并支持开发自定义的 Windows CE 3.0 设备。
注:Pocket PC 2002 SDK 可以与 eMbedded Visual Basic 3.0 和 eMbedded Visual C++ 3.0 一起使用,但是 Smartphone 2002 SDK 却只受 eMbedded Visual C++ 3.0 支持。
问:什么是 eMbedded Visual C++ 4.0?
答:eMbedded Visual C++ 4.0 是一种强大的开发工具,在为下一代基于 Windows CE 的设备(包括 Pocket PC 2003 和 Smartphone 2003)构建本机代码应用程序时可以为企业提供相当大的好处。这种独立的集成开发环境 (IDE) 带来了新水平的 Windows CE 开发效率,但却没有牺牲灵活性、性能或控制。要使用 eMbedded Visual C++ 工具构建 Pocket PC 2003 与 Smartphone 2003 应用程序,您还需要 eMbedded Visual C++ 4.0 Service Pack 3 和 Pocket PC 2003 以及 Smartphone 2003 SDK。下载 eMbedded Visual C++ 4.0 工具。
问:我可以使用 eMbedded Visual C++ 4.0 开发 Pocket PC 或 Smartphone 应用程序吗?
答:可以使用带有 Service Pack 2 的 eMbedded Visual C++ 4.0 来开发包括 Windows Mobile 2003 Second Edition 在内的 Pocket PC 2003 与 Smartphone 2003 应用程序。也可以用它来开发 Pocket PC 2002 或 Smartphone 2002 应用程序。
问:我可以使用 Windows C
开发 Windows Mobile 应用程序 FAQ
E Standard SDK 开发 Pocket PC 或 Smartphone 应用程序吗?
答:Windows CE SDK 提供了一个通用的功能子集,使得编写的应用程序能够符合 Standard SDK,以便运行在基于自定义显示的 Windows CE .NET 平台上。为了构建 Pocket PC 和 Smartphone 智能设备应用程序来利用这些平台提供的丰富的设备功能集,需要使用特定于设备的 SDK。
问:eMbedded Visual Tools 3.0 和 Visual Studio .NET 之间有什么不同?
答:eMbedded Visual Tools 3.0 是一种专门针对移动与嵌入式技术开发人员的独立开发环境。对于 Pocket PC 和 Smartphone,可以利用 eMbedded Visual Tools 和适当的平台 SDK 来构建丰富的“本机代码”客户端应用程序。Visual Studio .NET 是 Microsoft 的最流行桌面开发工具的最新版本。可以使用 Visual Studio .NET 2003 来构建基于 .NET Compact Framework 的 Pocket PC 智能客户端应用程序。同时,还可以使用 Visual Studio .NET 和 ASP.NET 移动控件构建以各种设备(包括 Pocket PC 和 Smartphone 类别的设备)为目标的基于浏览器的应用程序。
开发 Windows Mobile 应用程序 FAQ