當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]1.WINCE快捷方式結(jié)構(gòu)WINCE的快捷方式和WIN2K,XP的不同,只是一個后綴名為.LNK的文本文件.其格式如下:數(shù)字#路徑比如,有個快捷方式寫法如下:23#WindowsToolViewer.exe指的是指

1.WINCE快捷方式結(jié)構(gòu)

WINCE的快捷方式和WIN2K,XP的不同,只是一個后綴名為.LNK的文本文件.

其格式如下:

數(shù)字#路徑

比如,有個快捷方式寫法如下:

23#WindowsToolViewer.exe

指的是指向WINDOWS文件夾下的Toolviewer.exe可執(zhí)行文件.數(shù)字究竟代表的是什么意思,我也不太清楚;有一說法是#后的ACSII字符 的數(shù)量,但如果把上述例子改為1#WindowsToolViewer.exe也可正常運行,但去掉數(shù)字則系統(tǒng)無法識別.雖然可以正常使用,但建議還 是按照文檔#之后的ACSII字符數(shù)量填寫.

2.如何把快捷方式加到內(nèi)核中

假設(shè)我們有一快捷方式EnglishExp.lnk,要將其加到內(nèi)核中.

在PB環(huán)境中打開工程,在project.bib文件的FILES字段中添加:

EnglishExp.lnk $(_WINCEROOT)PLATFORMMyAPPCEnglishExp.lnk NK H

其中 $(_WINCEROOT)指的是PC機子上PB安裝的根目錄,H指的是文件屬性,意義代表如下:

S:系統(tǒng)

H:隱藏

R:壓縮的資源文件

C:壓縮文件

U:非壓縮文件

3.如何把快捷方式放到桌面

語法如下:Directory(”欲拷貝至的文件夾”):-File(”更改的名稱”,”要拷貝的文件”)

假設(shè)我們有一快捷方式EnglishExp.lnk,要將其放到桌面,并把快捷方式的名稱改為”英語”

在PB的project.dat文件加入此句:

Directory(”WindowsLOC_DESKTOP_DIR”):-File(”英語.lnk”,”WindowsCEnglishExp.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)PUBLICCOMMONOAKLIBARMV4IRETAIL804,然后將1205的ICO的小箭頭刪 掉即可.注意,不是刪除ID為1205的ICO圖標,是刪除ICO圖標中的內(nèi)容.

5.微軟應(yīng)用程序的快捷方式

如果在PB中添加了微軟的應(yīng)用軟件,便會在桌面和程序中添加其快捷方式;如果覺得快捷方式礙眼,可以將其注釋掉再編譯即可.

現(xiàn)在列出一些dat文件中定義的微軟應(yīng)用軟件的快捷方式:

wceappsfe.dat (C:WINCE420PUBLICWCEAPPSFEOAKFILES),內(nèi)含:pmail,wordpad

wceshellfe.dat (C:WINCE420PUBLICWCESHELLFEOAKFILES),內(nèi)含:iexplore,幫助文檔在”help”文件夾的快捷方式

viewers.dat (C:WINCE420PUBLICVIEWERSOAKFILES), 內(nèi)含:pdfviewer,imageviewer,Presviewer,Docviewer

directx.dat (C:WINCE420PUBLICDIRECTXOAKFILES),內(nèi)含:Media Player,DVD Player

6. 修改默認shell

其實讓一個程序在wince里啟動和windows里差不多,直接設(shè)置其為啟動項,這個有幾個方法。一個就是制作一個快捷方式,指向我們的應(yīng)用程序如app.exe,然后將快捷方式放到windowsstartup下面。

步驟如下:(假設(shè)app.exe已經(jīng)拷貝到windows下面)

在pb中創(chuàng)建一個文件,文件類型選txt,然后命名為.lnk后綴,假設(shè)名字為test.lnk

編輯其內(nèi)容為: 16#windowsapp.exe

備注:前面的16是# 后面所有字符的總和,包括空格。Wince的幫助文檔上說這么定義就行,但是我嘗試后,最后down到目標機上面時提示找不到文件,在wince里查看這 么創(chuàng)建的test.lnk的屬性,發(fā)現(xiàn)其指向windowsapp.exe后面還有兩個方框,因此不對,我的解決方法是修改test.lnk的內(nèi)容為 16#”Windowsapp.exe”

編輯好lnk文件內(nèi)容后在pb中修改project.bib

在files段后面添加下面一行:(和添加別的文件到image中類似,也要在pb的flatform菜單的setting下添加build語句,同上,不再贅述)

test.lnk $(_FLATRELEASEDIR)test.lnk NK S

project.dat

增加下面一行:

Directory(”Windowsstartup”):-File(”test.lnk”,”Windowstest.lnk”)

這樣后系統(tǒng)啟動后就會自動啟動我們的程序了

另外一種方法是編輯注冊表:在project.reg中添加如下內(nèi)容

[HKEY_LOCAL_MACHINEinit]

“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(就是看到的默認桌面),然后啟動我們的程序,(如果利用 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后確認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)注冊表,來達到去掉桌面,直接啟動我們程序的效果)。[!--empirenews.page--]

注意,這么啟動的程序,如果點擊關(guān)閉,就會死機的,因為沒有窗口運行了。實際運用中,當然不會讓用戶關(guān)閉我們的程序,除非他一起關(guān)閉系統(tǒng)。

如果也需要build的話,可以通過往image中添加文件的方法將我們改好的shell.reg添加到release目錄。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉