我寫了不少開發初體驗的文章,以前總是在寫别人做的産品。但是這次不太一樣,因為我也參與了Windows Embedded 6.0 R3的開發。這也是Windows Embedded的中國研發團隊的第一個産品,希望大家能夠多多關注和支援。
Windows Embedded 6.0 R3是在Windows CE 6.0 R2的基礎上,增加了下列技術:
· Silverlight for Embedded
· Internet Explorer Embedded浏覽器
· Flash Lite支援
· 手勢識别Gesture API
· Connection Manager
· Mobile QQ
· Office Viewer
其中Internet Explorer Embedded是由Windows Embedded中國研發團隊單獨開發的。而Mobile QQ是由騰訊公司開發整合的。是以,這給Windows CE 6.0 R3打上了深深的中國印記。
如果想安裝Windows CE 6.0 R3的話,需要首先安裝Visual Studio 2005,以及VS 2005 SP1。如果是Vista或者Win7作業系統的話,還需要安裝VS 2005 Vista Update。
然後我們要安裝Windows CE 6.0,其中包括Platform Builder 6.0開發工具。然後再依次安裝Windows CE 6.0 R2和R3。如果已經安裝了R2,隻需要安裝R3的安裝包即可。
最後,我們可以選裝Mobile QQ和Office Viewer。因為這兩個軟體是第三方軟體,是以是以Windows CE 插件的方式單獨安裝。
以上所有軟體可以從微軟網站上下載下傳。Windows CE 6.0需要申請試用版的密鑰。下載下傳連結如下:
<a href="http://www.microsoft.com/windowsembedded/zh-cn/products/windowsce/getting-started.mspx#opt">http://www.microsoft.com/windowsembedded/zh-cn/products/windowsce/getting-started.mspx#opt</a>
Windows CE作業系統定制與Windows CE 6.0 R2沒有差別,仍然是通過來向導進行定制。首先在Visual Studio 2005的菜單中選擇New – Project,在對話框中選擇Platform Builder for CE 6.0節點,選擇OS Design類型。
在歡迎界面之後,選擇BSP。BSP是闆級支援包的縮寫,BSP與硬體裝置對應。指定我們建立的OS Deign運作在哪些裝置上。在這裡我們選擇Device Emulator,ARMV4I是Device Emulator處理器類型。
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/PB2_2.jpg"></a>
所有的BSP被放在WINCEROOT的Platform目錄下,主要有四種處理器類型:ARMV4I、MIPS、SH4和x86。在這裡需要特别指出的是,我們将第三方BSP拷貝到Platform目錄中後,該BSP的名稱會自動顯示在這個清單裡。如果BSP無法顯示,可能是因為安裝時沒有選擇BSP相應的處理器類型。
在選擇BSP之後,我們選擇OS Design的模闆類型:PDA Device中的Enterprise Web Pad。點選Finish按鈕,完成向導,進入PB的主界面。
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/PB4_2.jpg"></a>
接下來,我們來選擇Windows CE 6.0 R3新增加的元件。首先打開Platform Builder的Catalog Items View。如果在IDE中沒有顯示,可以在View菜單中的Other Windows裡找到,并顯示出來。
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/sl_2.jpg"></a>
Silverlight for Windows Embedded的元件位于Core OS\CEBASE\Shell and User Interface\User Interface\目錄下的Silverlight for Windows Embedded,對應的SYSGEN是SYSGEN_XAML_RUNTIME。
手勢識别Gesture的支援離得不遠,位于Core OS\CEBASE\Shell and User Interface\User Interface\Gesture目錄下的Gesture Animation Support,對應的SYSGEN是SYSGEN_PHYSICSENGINE。還有兩個相關的SYSGEN就不多做解釋了。
Connection Manager位于Core OS\CEBASE\Communication Services and Networking\Networking – General\Connection Manager\目錄下的Connection Manager,對應的SYSGEN是SYSGEN_CONNMGR。
Internet Explorer Embedded位于Core OS\CEBASE\Internet Client Services\Browser Application\Internet Explorer 6.0 for Windows Embedded CE - Standard Components\目錄下的Internet Explorer 6.0 XAML UI Sample Browser,對應SYSGEN是SYSGEN_IESAMPLE_EXR。還有一個相關的元件是Internet Explorer 6.0 Tiling Engine(SYSGEN_IE_TILEENGINE)。
Flash Lite的支援是在Core OS\CEBASE\Internet Client Services\Browser Application\Flash Lite目錄下的Adobe Flash Lite ActiveX Control,對應SYSGEN是SYSGEN_IE_FLASHLITE。
Flash Lite可以支援新的IE Embedded,也可以支援老的IESAMPLE。
這麼說大家沒什麼概念,我們就來看一個執行個體,将QQ加入到OS Design裡。如果已經安裝了Mobile QQ的MSI安裝包,我們會在Third Party\Tencent節點下,選上Tencent Mobile QQ就可以了。
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/clip_image006_2.jpg"></a>
截圖中顯示的不是綠色的勾,而是一個紅色的叉。我們得到的解釋是,這是Platform Builder 6.0的一個BUG,會在以後修複,而不會影響正常功能。
Mobile QQ也會加入一些關聯的SYSGEN,比如Cellcore的SMS等。Mobile QQ目前隻有中文版,是以,我們還要為OS Design添加中文支援,否則顯示會不正确。
在Solution Explorer裡選中OSDesign,然後在Project菜單裡選擇Properties。在彈出的對話框裡,選擇Configuration Properties節點裡的Locale。在右側的界面中,Locales裡選擇“簡體中文”,在Default locale裡選擇“簡體中文”。
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/locale_2.jpg"></a>
Locale設定完成後,還需要添加中文字型。在Catalog Items View中,選擇Core OS\CEBASE\International\Locale Specific Support\Chinese (Simplified) 目錄下的一些節點,包括Fonts\ SimSun & NSimSun(Choose 1)中的SimSun & NSimSun,SYSGEN是SYSGEN_FONTS_SIMSUN。還有Input Method Editor目錄下的Pocket IME,SYSGEN是SYSGEN_PIME_SC。
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/cn_2.jpg"></a>
編譯OS Design後,我們可以在開始菜單後看到QQ的快捷方式,運作後的界面如下:
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/qq2_2.jpg"></a>
最後留個懸念,大家猜一下下面的應用程式界面是用什麼做的?
<a href="http://images.cnblogs.com/cnblogs_com/aawolf/WindowsLiveWriter/WindowsEmbedded6.0R3_FE48/cid_2.jpg"></a>
本文轉自馬甯部落格園部落格,原文連結http://www.cnblogs.com/aawolf/archive/2009/10/31/1593596.html,如需轉載請自行聯系原作者