Disable Smart Minimize on PocketPC


相信玩過 PDA 幾天的人都會發現,當你點選右上角的「X」鍵,實際上並不會關閉程式,程式會一直處在背景執行狀態。你得跑到「設定」裡面的「記憶體」選單,才真的能把在背景執行的程式關掉。這樣的設計一方面是為了減低 load time 對每次開關程式的影響,但這樣也一併帶來記憶體吃緊的問題。

使用者可以:
1. 開小鍵盤出來,送 Ctrl+Q 給程式。 (應該是送 WM_CLOSE 或是 WM_QUIT 給程式)
2. 裝特定的程式,把Smart Minimize 給關掉,如 Spb Pocket Plus

程式設計者而言:

C# 其實非常的簡單,只要加上下面幾行就可以把「X」變成「ok」,按下ok程式就掰了。

this.ControlBox = true;
this.MinimizeBox = false;

native code:
ModifyStyle(0, WS_NONAVDONEBUTTON, SWP_NOSIZE); // MFC
CreateWindow 時加上 WS_NONAVDONEBUTTON // Win32

以上兩種方式只是把 X 給拿掉,那要怎麼關閉程式呢?……XD

可以參考以下的連結
QA: How can I close my application by clicking the smart minimize (X) button?

不過這樣實在是太暴力了 -v-

btw,如果你裝了 Pocket PC 2003 SE Emulator 在 Embedded Visual C++ 沒看到的話,可以這樣用。

null

如果你有在玩 Visual Studio 2005 的話,也許你可以試試整合 Embedded Visual C++ 來開發 native code 的這個玩意


Leave a Reply

Your email address will not be published. Required fields are marked *