話說 Windows Phone 7 模擬器還真好玩

簡介 Windows Phone 7 模擬器的主要幾個檔案,接著說明使用 Windows Phone 7 模擬器的小技巧。

當我們使用 Visual Studio 2010 或 Visual Studio 2010 Express for Windows Phone Beta 執行 Windows Phone 7 的程式時,Windows Phone 7 模擬器會自動被啟動並載入我們所撰寫的程式開始執行。於此時開啟工作管理員,即可看到 XDE.exe 的程式被執行起來。由於個人所使用的是 Windows 7 旗艦版 64 bit,因此在「影像名稱」欄位中,還會多了 *32 的字眼,表示該程式是 32 位元的。

XDE.exe 是 32 位元的程式

XDE 縮寫的起源

XDE 是 X Device Emulator 的縮寫。於安裝 Windows Phone 7 Developer Tool 之後,有下列 3 個較為重要的檔案:

  • XDE.exe(模擬器主程式)

    路徑
    32 位元作業系統 C:\Program Files\Microsoft XDE\1.0
    64 位元作業系統 C:\Program Files (x86)\Microsoft XDE\1.0

    直接執行 XDE.exe 會顯示可用的參數說明。
  • WM7_Skin.xml(模擬器面板設定檔)

    路徑
    32 位元作業系統 C:\Program Files\Microsoft XDE\1.0
    64 位元作業系統 C:\Program Files (x86)\Microsoft XDE\1.0

    我們可以修改面板設定檔,例如:調整色彩深度,預設是 16 位元的高彩模式,可以調成 32 位元的最高品質。或是調整程式的標題,以方便在工作列與主控台視窗(請見「使用 Windows Phone 7 模擬器的小技巧」最後一項)辨識。

    調整色彩深度所要修改的地方

    自訂的標題

  • WM70C1.bin(模擬器映像檔)

    路徑
    32 位元作業系統 C:\Program Files\Microsoft SDKs\WindowsPhone\v7.0\Emulation\Images
    64 位元作業系統 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Emulation\Images

    內建的模擬器所提供的程式很少(就 1 個 IE 瀏覽器),您可以下載解鎖過的映像檔: WM70C1-6414-unlocked.bin (88.2 MB),其所具備的程式較多。在此提供 2 種方式,請自行依照所需使用擁有較多程式的映像檔。

    方法 1:取代原本的模擬器映像檔

    1. 備份原本的模擬器映像檔。
    2. 將下載的模擬器映像檔覆蓋原本的映像檔。

    方法 2:單獨執行模擬器映像檔

    1. 將下載的模擬器映像檔複製到適當路徑。
    2. 建立內容如下的批次檔(請依照實際狀況,修改相關的路徑與程式名稱):
      @echo off
      "C:\Program Files (x86)\Microsoft XDE\1.0\XDE.exe" "D:\AlexChuo\WM70C1-6414-unlocked.bin" /VMID {E575DA31-FC47-4766-853F-018D823B9EE6}

      參數 VMID 所傳入的 GUID 是 Visual Studio 2010 與 Visual Studio 2010 Express for Windows Phone Beta 所固定給的,當然您要用 GUIDGen.exe 產生一組新的取代,也是可以啦。

使用 Windows Phone 7 模擬器的小技巧:

  • 工具列的圖示說明如下圖:

  • 按下鍵盤上的 PausePage UpPage Down 鍵來開啟或關閉螢幕小鍵盤輸入法視窗或直接使用鍵盤輸入。

    使用螢幕小鍵盤輸入法

    直接使用鍵盤輸入

    有時候會顯示目前使用的輸入法之語言

  • 當滑鼠焦點位於模擬器時(如上圖出現紫色系外框線即表示焦點已經位於模擬器裡),按下 F1 鍵等同於按下模擬器上的 Back 按鈕。
  • 當滑鼠焦點位於模擬器時,按下 F2Windows 鍵等同於按下模擬器上的 Windows 按鈕。
    若按住 F2Windows 鍵久一點,會出現語音辨識的說明。

  • 想當然而,按下 F3 鍵就可以開啟 Bing 搜尋頁面。
  • F7 鍵用來啟動照相機並進行拍照(拍照還真的有咖的聲音),提醒大家這功能並不是真的透過您的 Web Cam  進行拍照。Orz …,拍完的照片可在 camera roll 看到。
  • F9 F10 分別調整聲音的大、小聲,同時會顯示目前正在播放的音樂或收音機的頻道,也可調整震動模式。

    F9/F10 調整音量

  • F11 是播放與暫停的功能。
  • 欲重排主畫面的項目,可在該項目上,持續按住滑鼠左鍵,直到該項目變大,即可將其拖曳至新位置。若欲刪除該項目,只要按一下右上方的大頭針即可刪除。

    重排主畫面

  • 如果您使用 Windows 7 旗艦版、企業版或專業版,則不能在執行 Windows Virtual PC 的同時,又執行 Windows Phone 7 模擬器,由於這兩者皆是虛擬軟體,因此一次只能有一個虛擬軟體被執行。這也暗示了我們不能在 Windows Virtual PC 裡面執行 Windows Phone 7 模擬器。

    先執行 Windows Phone 7 模擬器,再執行 Virtual PC

    先執行 Virtual PC,再執行 Windows Phone 7 模擬器

  • 1 次僅能載入 1 個 Windows Phone 7 模擬器。

    無法同時執行 1 個以上的模擬器

  • 無法在模擬器上使用多隻滑鼠來模擬多點觸控的功能,必須要用真正支援多點觸控的設備才行。
  • 於模擬器內的 IE 瀏覽器上,欲縮放網頁,直接在網頁上雙擊滑鼠左鍵即可。

    在 IE 直接雙擊滑鼠左鍵進行縮放網頁

  • 如果您的顯示卡夠高檔(DirectX 10 以上、DDI 10 以上、WDDM 1.1 以上),模擬器就可善用顯示卡的顯示能力。如果顯示卡不夠高檔,只好用軟體模擬的方式,因此執行起來的效能自然就差了。

    要 DirectX 10 以上

    DDI 10 以上、WDDM 1.1 以上

  • 預設的時區是阿拉斯加(亦即 UTC-9),沒辦法調整成其他時區。

    時區是阿拉斯加  UTC-9

  • 如果開啟模擬器時,出現如下的訊息視窗:
    Error: The saved-state file 
    (C:\ProgramDate\Microsoft\XDE\{E575DA31-FC47-4766-853F-018D823B9EE6}
    .dess) is corrupt. You can delete the corrupted files and then launch the 
    Emulator. Do you want to delete the corrupt saved state file before exiting?

    就先關掉該視窗,然後手動將上述的 .dess 檔刪除,再重新啟動模擬器。

    訊息視窗

  • 基於效能考量,建議執行模擬器時,不要開啟至最大顯示模式,使用預設的設定即可。

  • 為了方便除錯,可以讓模擬器啟動時,順便開啟主控台視窗,適時地透過 Console.WriteLine 方法輸入有用的資訊到主控台視窗中。操作過程如下:
    1. 開啟 regedit.exe
    2. 找到下列機碼位置:
      機碼位置
      32 位元作業系統 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\XDE
      64 位元作業系統 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\XDE
    3. 建立一個名稱為 EnableConsole,值為 1DWORD(32 位元)

    新增機碼

    修改機碼值

    茲將其設定表列說明如下:

    名稱

    類型

    說明

    EnableConsole DWORD(32 位元) 1:開啟
    0:關閉
    模擬器啟啟動時,是否要開啟主控台視窗。

    實際應用請看圖說:

    1. 加入 Loaded 事件處理常式。
      加入 Loaded 事件處理常式
      請特別注意!!
      因為主控台目前尚不支援中文顯示,所以請改用英文。
    2. 執行結果:

     

根據 The Windows Phone Developer Blog 上的 A Developer's Roadmap to Windows Phone 7 Launch Timing 一文指出,9 月 16 日將發行最終版本的 Windows Phone Developer Tools,那表示大家在 Tech•Day 2010 Taiwan 之前就可以看到令人期待的新版本 Windows Phone 7 開發工具了!!

分享