星期四, 11月 29, 2007

開啟 Windows Mobile 的 "Run" 對話框

Windows Mobile 雖然在不少方面都和一般電腦用的 Windows 類似,但有一個很大的不同,在於 Windows Mobile 的 Start (開始)選單中,並沒有 Command Prompt (命令提示字元) 或 Run (執行) 等項目。這在一般情況下不是問題,但有時候希望傳遞命令列參數給某些程式時,由於缺乏命令列介面,就很難達成這項需求。解覺得辦法可以從兩方面下手,一個是使用 "DOS-like command prompt and (DOS) scripting on the Pocket PC - a roundup" 文章中提到的 cmd.exe 替代方案來開啟命令列介面;另一個則是使用 Windows Mobile 中隱藏的 Run 對話框。

開啟 Run 對話框的方法主要是參考以下兩篇文章/討論串:

文章中提到的步驟如下:

  1. Go to the home screen, press and hold the `action' key (that's the middle button of the direction keys). By default the Pocket PC 5.0 emulator uses the right Alt key for `Action'.

  2. Tap and hold the clock in the top right.

  3. Select `Run'


大致上是這樣,雖然有一點小細節被省略了,在第一篇的討論串中有提到。不過實際上我測試過,在任何應用程式裏面,只要 panel 右邊是顯示電池電量圖示或者時間的話,基本上都可以。所以例如我的 Today 會在 panel 右邊顯示電池圖示,此時要叫出 Run 對話框只要
  1. 按住 Action 鍵。

  2. 點選並按住電池圖示(或如果是顯示時鐘的話,點選並按住時鐘)。

  3. 放開 Action 鍵。此時會跳出 popup menu,裏面會有 "Run" 和 "Clock" 兩個項目。

  4. 點選 Run。

這樣就可以叫出 Run 對話框,因此就可以輸入要執行的程式以及命令列參數了。

在試驗這個技巧時,我意外的發現了 Windows Mobile 內藏的一個叫作 "Internal Use Spy" 的『小工具』。這個工具會顯示出現在視窗的一些資訊以及 Handle,並且會有選項問說要不要 dump parent。在 " Internal Use Spy: A nice hidden debugging tool for Pocket PC 2003 device and Pocket PC 5.0 device" 這篇 blog 文章中有一些說明以及圖片,我就不多說了。我有試過點選 Yes,結果什麼事情都沒發生,所以不太確定到底點 Yes 有什麼用就是了。

沒有留言: