WINCE快捷方式詳細(xì)介紹
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-02 22:52:25
WINCE概述
Windows CE作業(yè)系統(tǒng)是Windows家族中的成員,專門設(shè)計給掌上型電腦(HPCs)所使用的電腦環(huán)境。這樣的作業(yè)系統(tǒng)可使完整的可攜式技術(shù)與現(xiàn)有的Windows桌面技術(shù)整合工作。 Windows CE 被設(shè)計成針對小型設(shè)備(它是典型的擁有有限內(nèi)存的無磁盤系統(tǒng))的通用操作系統(tǒng),Windows CE 可以通過設(shè)
計一層位于內(nèi)核和硬件之間代碼來用設(shè)定硬件平臺,這即是眾所周知的硬件抽象層(HAL)(在以前解釋時,這被稱為 OEMC (原始設(shè)備制造)適應(yīng)層,即 OAL; 內(nèi)核壓縮層,即 KAL。 以免與微軟的 Windows NT 操作系統(tǒng) HAL 混淆) 。
不象其它的微軟 Windows 操作系統(tǒng),Windows CE 并不是代表一個標(biāo)準(zhǔn)的相同的對所有平臺適用的軟件。為了足夠靈活以達到適應(yīng)廣泛產(chǎn)品需求, Windows CE 采用標(biāo)準(zhǔn)模式,這就意味著,它能夠由一系列軟件模式做出選擇,從而使產(chǎn)品定制。另外,一些可利用模式也可作為其組成部分,這意味著這些模式能夠通過從一套可利用的組份做出選擇,從而成為標(biāo)準(zhǔn)模式,通過選擇,能夠達到系統(tǒng)要求的模式, OEM 能夠減少存儲腳本和操作系統(tǒng)的運行。
Windows CE中的C代表袖珍(Compact)、消費(Consumer)、通信能力(Connectivity)和伴侶(Companion);E代表電子產(chǎn)品(Electronics)。與Windows 95/98、Windows NT不同的是,Windows CE是所有源代碼全部由微軟自行開發(fā)的嵌入式新型操作系統(tǒng),其操作界面雖來源于Windows 95/98,但Windows CE是基于WIN32 API重新開發(fā)、新型的信息設(shè)備的平臺。Windows CE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接口和與處理器無關(guān)等特點。Windows CE不僅繼承了傳統(tǒng)的Windows圖形界面,并且在Windows CE平臺上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C++等)、使用同樣的函數(shù)、使用同樣的界面風(fēng)格,使絕大多數(shù)的應(yīng)用軟件只需簡單的修改和移植就可以在Windows CE平臺上繼續(xù)使用。Windows CE并非是專為單一裝置設(shè)計的,所以微軟為旗下采用Windows CE作業(yè)系統(tǒng)的產(chǎn)品大致分為三條產(chǎn)品線,Pocket PC(掌上電腦)、Handheld PC(手持設(shè)備)及Auto PC。
1.WINCE快捷方式結(jié)構(gòu)
WINCE的快捷方式和WIN2K,XP的不同,只是一個后綴名為。LNK的文本文件。
其格式如下:
數(shù)字#路徑
比如,有個快捷方式寫法如下:
23#\Windows\ToolViewer.exe
指的是指向WINDOWS文件夾下的Toolviewer.exe可執(zhí)行文件.數(shù)字究竟代表的是什么意思,我也不太清楚;有一說法是#后的ACSII字符 的數(shù)量,但如果把上述例子改為1#\Windows\ToolViewer.exe也可正常運行,但去掉數(shù)字則系統(tǒng)無法識別.雖然可以正常使用,但建議還 是按照文檔#之后的ACSII字符數(shù)量填寫.
2.如何把快捷方式加到內(nèi)核中
假設(shè)我們有一快捷方式EnglishExp.lnk,要將其加到內(nèi)核中.
在PB環(huán)境中打開工程,在project.bib文件的FILES字段中添加:
EnglishExp.lnk $(_WINCEROOT)\PLATFORM\MyAPPC\EnglishExp.lnk NK H其中 $(_WINCEROOT)指的是PC機子上PB安裝的根目錄,H指的是文件屬性,意義代表如下:
S:系統(tǒng)
H:隱藏
R:壓縮的資源文件
C:壓縮文件
U:非壓縮文件
3.如何把快捷方式放到桌面
語法如下:Directory(”欲拷貝至的文件夾”):-File(”更改的名稱”,”要拷貝的文件”)
假設(shè)我們有一快捷方式EnglishExp.lnk,要將其放到桌面,并把快捷方式的名稱改為”英語”在PB的project.dat文件加入此句:
Directory(”\Windows\LOC_DESKTOP_DIR”):-File(”英語.lnk”,”\Windows\CEnglishExp.lnk”)
包含在內(nèi)核里面的文件全部釋放到”\Windows”文件夾下.
LOC_DESKTOP_DIR指的是本地桌面.在PB中,常用的還有如下宏定義:
LOC_DESKTOP_DIR: 桌面
LOC_MYDOCUMENTS_DIR: My Documents
LOC_PROGRAMFILES_DIR: Program Files
LOC_FAVORITES_DIR: Favorites
LOC_RECENT_DIR: Recent
LOC_MYDOCUMENTS_DIR: My Documents
LOC_HELP_DIR: Help
更多的定義可以在ceshellfe.str文件中找到
4.消除快捷方式的小箭頭
在PC機的操作系統(tǒng)中可以通過修改注冊表來取消快捷方式左下角的小箭頭,但在WINCE中注冊表沒有關(guān)于取消小箭頭的鍵值(可能我沒找到^_^).在這里我采用的是直接修改資源文件的做法.
打開shcore.res文件,其中文的路徑在 $(_WINCEROOT)\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL\0804\,然后將1205的ICO的小箭頭刪 掉即可.注意,不是刪除ID為1205的ICO圖標(biāo),是刪除ICO圖標(biāo)中的內(nèi)容.
5.微軟應(yīng)用程序的快捷方式
如果在PB中添加了微軟的應(yīng)用軟件,便會在桌面和程序中添加其快捷方式;如果覺得快捷方式礙眼,可以將其注釋掉再編譯即可.
現(xiàn)在列出一些dat文件中定義的微軟應(yīng)用軟件的快捷方式:
wceappsfe.dat (C:\WINCE420\PUBLIC\WCEAPPSFE\OAK\FILES\),內(nèi)含:pmail,wordpad
wceshellfe.dat (C:\WINCE420\PUBLIC\WCESHELLFE\OAK\FILES\),內(nèi)含:iexplore,幫助文檔在”help”文件夾的快捷方式
viewers.dat (C:\WINCE420\PUBLIC\VIEWERS\OAK\FILES\), 內(nèi)含:pdfviewer,imageviewer,Presviewer,Docviewer
directx.dat (C:\WINCE420\PUBLIC\DIRECTX\OAK\FILES\),內(nèi)含:Media Player,DVD Player
6. 修改默認(rèn)shell
其實讓一個程序在wince里啟動和windows里差不多,直接設(shè)置其為啟動項,這個有幾個方法。一個就是制作一個快捷方式,指向我們的應(yīng)用程序如app.exe,然后將快捷方式放到\windows\startup下面。
步驟如下:(假設(shè)app.exe已經(jīng)拷貝到windows下面)
在pb中創(chuàng)建一個文件,文件類型選txt,然后命名為.lnk后綴,假設(shè)名字為test.lnk編輯其內(nèi)容為:16#\windows\app.exe
備注:前面的16是# 后面所有字符的總和,包括空格。Wince的幫助文檔上說這么定義就行,但是我嘗試后,down到目標(biāo)機上面時提示找不到文件,在wince里查看這 么創(chuàng)建的test.lnk的屬性,發(fā)現(xiàn)其指向\windows\app.exe后面還有兩個方框,因此不對,我的解決方法是修改test.lnk的內(nèi)容為 16#”\Windows\app.exe”
編輯好lnk文件內(nèi)容后在pb中修改project.bib
在files段后面添加下面一行:(和添加別的文件到image中類似,也要在pb的flatform菜單的setting下添加build語句,同上,不再贅述)
test.lnk $(_FLATRELEASEDIR)\test.lnk NK S
project.dat
增加下面一行:
Directory(”\Windows\startup”):-File(”test.lnk”,”\Windows\test.lnk”)
這樣后系統(tǒng)啟動后就會自動啟動我們的程序了。
另外一種方法是編輯注冊表:在project.reg中添加如下內(nèi)容
[HKEY_LOCAL_MACHINE\init]
“Launch80″=”app.exe”
“Depend80″=hex:14,00,1e,00
這個是設(shè)定啟動順序,launch后面的數(shù)字越大的越是后啟動,Depend80后面的指定依賴項,為16進制,上面的語句表明依賴項為launch20 定義的device.exe和launch30中定義的gwes.exe, 注意Launch后面的數(shù)字范圍為0到99 ,此范圍之外的將不會有效果。
這樣兩種方法的效果都是系統(tǒng)都是系統(tǒng)先啟動資源管理器explorer.exe(就是看到的默認(rèn)桌面),然后啟動我們的程序,(如果利用 taskman shell然后去掉任務(wù)欄那么效果更好)但是這樣還不夠,我們?nèi)绾尾伙@示桌面,直接顯示我們的程序呢?
網(wǎng)上有人介紹的方法是去掉standard shell,但是我編譯總是報錯。我采用的方法是替換注冊表中l(wèi)auch50中的explorer.exe為我的app.exe,即搞定。
修改注冊表的方法:先把帶KITL的系統(tǒng)跑起來,在PB的TOOLS->Remote registry editor里修改,驗證有效后,再去修改platfrom.reg, 或者自己寫個REG文件,然后在platform.reg里INCLUDE進來 SYSGEN后確認(rèn)PBWORKSPACE里相關(guān)項目的REL目錄里reginit.ini文件里包含了自己做的修改后make image然后DOWNLOAD下去就OK了。
值得補充的是,我們前面介紹的步驟中那個修改平臺setting,添加語句的,是因為我每次都是重新sysgen和build,如果只是簡單的 make image的話(都是pb中的build OS菜單下的命令),那么將直接用release中的內(nèi)容,因此也可以直接將文件放到release文件夾,然后改project.bib等實現(xiàn)往 image中添加文件。 同樣,也可以直接修改release中的shell.reg中的launch50值為我們自己的程序(或者類似修改reginit.ini文件, reginit.ini文件存放有所有wince的靜態(tài)注冊表,來達到去掉桌面,直接啟動我們程序的效果)。
注意,這么啟動的程序,如果點擊關(guān)閉,就會死機的,因為沒有窗口運行了。實際運用中,當(dāng)然不會讓用戶關(guān)閉我們的程序,除非他一起關(guān)閉系統(tǒng)。
如果也需要build的話,可以通過往image中添加文件的方法將我們改好的shell.reg添加到release目錄。
總之,今天是把定制shell算是基本完成了。
特色
增進工作產(chǎn)能和效率的通訊錄、日歷行程、工作管理、Microsoft Pocket Excel與Microsoft Pocket Word控制臺可以控制并管理Windows CE與辦公室PC的連結(jié)。這讓在您的PC與PDA之間轉(zhuǎn)移資料并與他人透過電子郵件及紅外線無線電通訊,同時與其他手?jǐn)y式設(shè)備交換資料。利用便攜式Internet Explorer遨游網(wǎng)絡(luò),并使你的HPC達到的功用。
從隨時隨地的使用電腦及PDA,到智慧型家電用品及豐富的多媒體家庭劇院,Microsoft Windows CE為工作、家庭及其間的任何一部分開啟了動態(tài)的、嶄新的開發(fā)遠(yuǎn)景。這個模塊化、可自訂的作業(yè)系統(tǒng)將Windows平臺延伸到桌面之外,到達更小、更機動性、更特別的裝置之上,然而它的Windows血統(tǒng)則確保了它的相容性,并且支援了更廣泛的開發(fā)基礎(chǔ)。Microsoft Windows CE揭露了革命性的系統(tǒng)架構(gòu),可以讓身為開發(fā)者或科技的您,擴展消費者及工業(yè)電子上的新市場。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









