日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WINCE6.0更换桌面壁纸和图标

發(fā)布時(shí)間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WINCE6.0更换桌面壁纸和图标 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

********************************LoongEmbedded********************************

作者:LoongEmbedded(kandi)

時(shí)間:2011.10.07

類別:WINCE系統(tǒng)開發(fā)

********************************LoongEmbedded********************************

1.? WINCE更換桌面壁紙

WINCE桌面的壁紙是在注冊表中設(shè)置的,在\WINCE600\PUBLIC\WCESHELLFE\OAK\FILES\ wceshellfe.reg中我們看到下面的注冊表信息

; initial value for background bitmap, if any

[HKEY_CURRENT_USER\ControlPanel\Desktop]

; @CESYSGEN IF IMAGING_IMG_JPEGDECODER

??? "wallpaper"="\\Windows\\WindowsCE.jpg"

; @CESYSGEN ELSE

; @CESYSGEN ENDIF IMAGING_IMG_JPEGDECODER

表示W(wǎng)INCE桌面的壁紙就是圖片WindowsCE.jpg,可以在系統(tǒng)工程的release目錄下沒有找到WindowsCE.jpg這個(gè)文件,確是找到了倒是可以看到windowsce_qvgap.jpg、windowsce_qvgap.bmp、windowsce_vgal.jpg和windowsce_vgal.bmp兩個(gè)文件。我們來看\WINCE600\PUBLIC\SHELL\OAK\FILES\shell.bib文件中的相關(guān)部分就明白了

?

圖1

這四張圖片都在G:\WINCE600\PUBLIC\SHELL\OAK\FILES下面,由圖1可知只是簡單的為這

個(gè)四個(gè)文件做了簡單的定義而已。到此我們?nèi)绻鎿Q壁紙,下面操作是其中一種辦法:

1)? 在project.bib中加入下面的內(nèi)容

GirlFirend.jpg? ?????????$(_FLATRELEASEDIR)\GirlFirend.jpg?????????? NK??? U

2)? 在project.reg中加入下面的內(nèi)容

[HKEY_CURRENT_USER\ControlPanel\Desktop]

??? "wallpaper"="\\Windows\\GirlFirend.jpg"

3)? 把GirlFirend.jpg放在release目錄下,然后Make Run-Time Image編譯生成新的NK更新就可以了,更新之后新的壁紙顯示如下:

?

圖2

2.? WINCE更換桌面圖標(biāo)

下面以更換“my device”的圖標(biāo)為例來說明如何更換桌面的圖標(biāo),我們先來看”my device”的圖標(biāo)顯示的相關(guān)內(nèi)容,\WINCE600\PUBLIC\SHELL\OAK\FILES\shell.reg中的相關(guān)注冊表信息下:

圖3

上圖中的“DisplayName”注冊表項(xiàng)表示圖標(biāo)要顯示的名字,比如“my device”,此名字取之于ceshell.dll中的資源,在此dll種有個(gè)ID和“my device”對應(yīng),比如“my device”的資源ID時(shí)候20482(0x5002);“DefaultIcon”表示要顯示的圖標(biāo),圖標(biāo)資源取之于ceshell.dll中的資源,在此dll種有個(gè)ID和“my device”要顯示的圖標(biāo)對應(yīng),比如“my device”的資源ID時(shí)候4354(0x1102)。

?

這些顯示的字符串和圖標(biāo)的ID\WINCE600\PUBLIC\SHELL\OAK\HPC\CESHELL\UI中的resource.h和ceshui_base.rc中定義,對于“my device”來說,其在resource.h中定義如下:

?

圖4 圖標(biāo)ID的定義

圖5 圖標(biāo)對應(yīng)的名稱資源ID定義

上面只是定義了相關(guān)資源的ID,還需借用這些ID來作為中間者定義這些資源的實(shí)際內(nèi)容,在ceshui_base.rc中相關(guān)內(nèi)容如下:

圖6? 圖標(biāo)對應(yīng)資源來源地定義

圖7? 圖標(biāo)名稱資源的定義

?

這樣如果我們要更換圖標(biāo)及圖標(biāo)的名稱,需要添加下面的內(nèi)容:

1)? 在resource.h中定義添加下面的定義

//kandi add,添加圖標(biāo)ID的定義,注意不要和系統(tǒng)定義的重復(fù)。

#define IDI_KANDI_LOGO??????????????? 0x1299//4761

//kandi add,添加圖標(biāo)名稱ID的定義,注意不要和系統(tǒng)定義的重復(fù)。

#define IDS_DISPLAY_LOGO?????????? 0x5099 // 20633

如圖4和圖5所示。

2)? 在ceshui_base.rc中添加下面的定義

//kandi add,添加圖標(biāo)要顯示內(nèi)容的資源。

IDI_KANDI_LOGO????????? ICON?? DISCARDABLE?? "RES\\loongembedded.ico"

//kandi add,添加圖標(biāo)名稱要顯示內(nèi)容的定義。

IDS_DISPLAY_LOGO?????????? "kandi logo"

3)? 把loongembedded.ico拷貝到\WINCE600\PUBLIC\SHELL\OAK\HPC\CESHELL\UI\RES文件下面

4)? 到\WINCE600\PUBLIC\SHELL\OAK\HPC\CESHELL目錄下選擇rebuild編譯,然后選擇clean sysgen編譯整個(gè)工程。

5)? 在project.reg中加入要替換的相關(guān)注冊表內(nèi)容

; Drives (My Device)

[HKEY_CLASSES_ROOT\CLSID\{000214A0-0000-0000-C000-000000000046}]

??? "DisplayName"=mui_sz:"ceshell.dll,#20633"

??? "DefaultIcon"="\\Windows\\ceshell.dll,-4761"

[HKEY_CLASSES_ROOT\CLSID\{000214A0-0000-0000-C000-000000000046}\InprocServer32]

??? @="\\Windows\\ceshell.dll"

需要注意的是,“DisplayName”和“DefaultIcon”后面的資源ID要和第1)中定義的ID一樣。

6)? 選擇Make Run-Time Image編譯生成新的NK.bin來更新就可以了。

?

?

總結(jié)

以上是生活随笔為你收集整理的WINCE6.0更换桌面壁纸和图标的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。