2009-04-14 74 views
1

我現在正在用Win CE 5.0弄溼我的腳,以更新現有平臺上的一些代碼。我們有興趣部署一個定製的外殼/主屏幕/應用程序啓動器,我也有幾個問題:自定義/替換Windows CE 5.0任務欄?

1)我們正在運行標準的CE shell,我假設它可以定製,因爲源代碼隨Platform Builder一起提供。我想知道如何用屏幕頂部的狀態欄來完全替換它(如iPhone)是多麼「痛苦」。我認爲任務切換可以通過專門的快捷鍵來處理。我對此有所懷疑。

2)如果它不能被刪除,任務欄是否可以調整大小並移動到屏幕的頂部?我們基本上試圖找到一種方法來爲我們自己的狀態欄保留屏幕頂部的前20個像素行,並防止最大化的應用程序窗口覆蓋其頂部。

非常感謝您的幫助。

-ksudeadeye

回答

1

當我找到解決方案時,我很高興和憤怒,因爲它比我想象的更容易。 對於2)預留空間,你需要這樣做:

RECT rc; 
SetRect(&rc, 0, 25, GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN)); 
SystemParametersInfoW(SPI_SETWORKAREA, 0, (void*) &rc, SPIF_SENDCHANGE); 

有了這個代碼,您在屏幕的頂部預留25個像素。 :D

如果您有疑問也許this可以幫助您或this

祝你好運。

+0

我們最終在開發過程中找到了SPI_SETWORKAREA標誌,但花了一些時間。希望這會讓別人少了一些頭痛。謝謝。 :) – 2011-03-09 07:18:51

1

要隱藏任務欄是一個簡單的註冊表更改:

; Hide the windows tasbar by default. 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\AutoHide] 
""=dword:1 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\OnTop] 
""=dword:0 

至於定製,你自己的,那就是更多的工作,而不是我已經嘗試。

0

我有一些在CE 5.0中修改任務欄的經驗。這不是一件容易的事,但結果可以真正增加設備的個人接觸。我的任務是添加一個帶有密碼對話框的用戶模式第二個任務欄,第二種類型的shell通知將圖標添加到用戶欄。最終,它只是標準的Windows CE編程 - 任務欄,通知托盤,啓動按鈕等與CE環境中的任何其他窗口一樣。

你應該開始探索在這裏: C:\ WINCE500 \ PUBLIC \ SHELL \ OAK \ HPC \ EXPLORER \任務\ taskbar.cpp

小心,克隆你的代碼,而對於大量的調試周期的準備。這是超過5000行嚴重的意大利麪代碼。