問:什么是 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