如何在Wince5.0先建立並使用自己的Shell

來源:互聯網
上載者:User
環境:
Wince5.0+ARM926
目的:
按照自己的風格建立Shell
背景:
考慮到產品外觀及風格的一致性,無法直接把Explorer作為Shell,而且,又無簡單的把Explorer直接放到後台(會出現一些問題,譬如啟動的瞬間,Explorer會顯示一下)
方法:
1. 直接修改Explorer,改為自己的風格。個人認為這是最根本最有效方法,但是工作量比較大,考慮到時間只能放棄。
2. 直接用自己的Shell替代Explorer。在Shell.reg中有一句
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
就是這一句在啟動的最後把Explorer啟動起來。(Launchxx的含義及用法在PB的協助裡面有解釋)。
把explorer.exe替換自己的shell即可(譬如MyShell.exe),以前一直使用這種方法。
但這種方法有缺陷:wince的Common Dialog是依賴於Explorer的,這就導致很多Wince內建的程式執行時有問題,譬如WordPad無法開啟和儲存。。。(如果哪位知道如何在不啟動Explorer的情況下使用Common Dialog的話,還煩請告訴小弟)
3. 現在是對Explorer稍作修改確保顯示沒有問題,然後放在後台,步驟如下:
3.1. 按照PB Help的提示修改Explorer(如果通過修改註冊表實現,則盡量不修改Explorer代碼)
a. 複製WINCE500\PUBLIC\SHELL\OAK\HPC,到WINCE500\PUBLIC\SHELL\OAK目錄下,並重新命名為MyShell
b. 修改dir檔案
c. 去掉案頭上顯示的"Microsoft Windows CE...........":
直接把desktopview.cpp中#ifndef SHIP_BUILD改為#if 0即可。
(理論上在Platform Setting裡面可以設定此段文字不顯示的,但是不知為何不起作用)
d. 修改Taskbar自動隱藏時的高度:
taskbar.hxx中,把TASKBAR_HEIGHT_AUTOHIDE改為0
e. 去掉Explorer啟動時的音樂:
把WinMain中的sndPlaySound(c_szSystemStart, SND_ALIAS|SND_ASYNC|SND_NODEFAULT);注釋掉。
(註冊表中,沒有找到開機音樂的索引值。如果哪位知道,請不吝賜教)
3.2. 修改註冊表
a. Shell.reg: 案頭上去掉"My Device"和"Recycle Bin"兩個表徵圖
找到
[HKEY_LOCAL_MACHINE\Explorer\Desktop]
"{000214A0-0000-0000-C000-000000000046}"="My Device"
"{000214A1-0000-0000-C000-000000000046}"="Recycle Bin"
改為
[HKEY_LOCAL_MACHINE\Explorer\Desktop]
;"{000214A0-0000-0000-C000-000000000046}"="My Device"
;"{000214A1-0000-0000-C000-000000000046}"="Recycle Bin"
b. 去掉案頭上的其它捷徑
wince用Directory("\Windows\LOC_DESKTOP_DIR"):-File("LOC_MSPWORD_LNK","\Windows\wordpad.lnk")的方式在案頭上建立捷徑
把WINCE500\PUBLIC\WCEAPPSFE\OAK\FILES\wceappsfe.dat中的所有Directory("\Windows\LOC_DESKTOP_DIR"):-File(...)全部注釋掉。
把WINCE500\PUBLIC\WCESHELLFE\OAK\FILES\wceshellfe.dat中的所有Directory("\Windows\LOC_DESKTOP_DIR"):-File(...)全部注釋掉。
c. 設定Taskbar為自動隱藏
在註冊表中添加
; -- 使工作列預設自動隱藏
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\AutoHide]
@="1"

; -- 使工作列預設不總在最前
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\OnTop]
""=dword:0
d. 修改案頭背景顏色
[HKEY_LOCAL_MACHINE\SYSTEM\GWE]
"SysColor"=hex:\
00,00,00,00,\
00,00,00,00,\ //Desktop視窗背景顏色,現在設定為黑色
00,00,00,00,\
00,00,00,00,\
EF,EB,DE,00,\
FF,FF,FF,00,\
00,00,00,00,\
00,00,00,00,\
00,00,00,00,\
FF,FF,FF,00,\
C0,C0,C0,00,\
C0,C0,C0,00,\
80,80,80,00,\
31,69,C6,00,\
FF,FF,FF,00,\
EF,EB,DE,00,\
AD,AA,9C,00,\
80,80,80,00,\
00,00,00,00,\
00,00,00,00,\
FF,FF,FF,00,\
73,6D,63,00,\
FF,FF,FF,00,\
00,00,00,00,\
FF,FF,E1,00,\
EF,EB,DE,00,\
00,00,00,00
e. 背景圖片
[HKEY_CURRENT_USER\ControlPanel\Desktop]
"wallpaper"="\\NandDisk\\Startup\\wallpaper.bmp"
f. 啟動自己的Shell
[HKEY_LOCAL_MACHINE\init]
"Launch70"="\\Windows\\ShellLoader.exe"
"Depend70"=hex:14,00, 1e,00

效果:系統啟動後,先啟動explorer顯示wallpaper.bmp,然後啟動ShellLoader.exe

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.