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

作者:LoongEmbedded(kandi)

时间:2011.10.07

类别:WINCE系统开发

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

1.  WINCE更换桌面壁纸

WINCE桌面的壁纸是在注册表中设置的,在\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

表示WINCE桌面的壁纸就是图片WindowsCE.jpg,可以在系统工程的release目录下没有找到WindowsCE.jpg这个文件,确是找到了倒是可以看到windowsce_qvgap.jpg、windowsce_qvgap.bmp、windowsce_vgal.jpg和windowsce_vgal.bmp两个文件。我们来看\WINCE600\PUBLIC\SHELL\OAK\FILES\shell.bib文件中的相关部分就明白了

图1

这四张图片都在G:\WINCE600\PUBLIC\SHELL\OAK\FILES下面,由图1可知只是简单的为这

个四个文件做了简单的定义而已。到此我们如果要替换壁纸,下面操作是其中一种办法:

1)  在project.bib中加入下面的内容

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

2)  在project.reg中加入下面的内容

[HKEY_CURRENT_USER\ControlPanel\Desktop]

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

3)  把GirlFirend.jpg放在release目录下,然后Make Run-Time Image编译生成新的NK更新就可以了,更新之后新的壁纸显示如下:

图2

2.  WINCE更换桌面图标

下面以更换“my device”的图标为例来说明如何更换桌面的图标,我们先来看”my device”的图标显示的相关内容,\WINCE600\PUBLIC\SHELL\OAK\FILES\shell.reg中的相关注册表信息下:

图3

上图中的“DisplayName”注册表项表示图标要显示的名字,比如“my device”,此名字取之于ceshell.dll中的资源,在此dll种有个ID和“my device”对应,比如“my device”的资源ID时候20482(0x5002);“DefaultIcon”表示要显示的图标,图标资源取之于ceshell.dll中的资源,在此dll种有个ID和“my device”要显示的图标对应,比如“my device”的资源ID时候4354(0x1102)。

这些显示的字符串和图标的ID\WINCE600\PUBLIC\SHELL\OAK\HPC\CESHELL\UI中的resource.h和ceshui_base.rc中定义,对于“my device”来说,其在resource.h中定义如下:

图4 图标ID的定义

图5 图标对应的名称资源ID定义

上面只是定义了相关资源的ID,还需借用这些ID来作为中间者定义这些资源的实际内容,在ceshui_base.rc中相关内容如下:

图6  图标对应资源来源地定义

图7  图标名称资源的定义

这样如果我们要更换图标及图标的名称,需要添加下面的内容:

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

//kandi add,添加图标ID的定义,注意不要和系统定义的重复。

#define IDI_KANDI_LOGO                0x1299//4761

//kandi add,添加图标名称ID的定义,注意不要和系统定义的重复。

#define IDS_DISPLAY_LOGO           0x5099 // 20633

如图4和图5所示。

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

//kandi add,添加图标要显示内容的资源。

IDI_KANDI_LOGO          ICON   DISCARDABLE   "RES\\loongembedded.ico"

//kandi add,添加图标名称要显示内容的定义。

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编译整个工程。

5)  在project.reg中加入要替换的相关注册表内容

; 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来更新就可以了。

WINCE6.0更换桌面壁纸和图标相关推荐

  1. Android8.0更换桌面壁纸被拉伸,不居中显示问题

    更换壁纸前: 随便换一个其它的: 再换回来,发现拉伸了,而且没有地方设置居中显示: 跟踪代码,发现原因: 代码位置:framewords/base/services/core/java/com/and ...

  2. 通过快捷方式快速更换桌面壁纸(必应每日壁纸)

    通过快捷方式快速更换桌面壁纸(必应每日壁纸) 01 前言 02 正文 03 后记 01 前言 桌面壁纸,大家都懂的,换的不是壁纸,是寂寞 心情.市面上各种桌面美化软件就不提了,这里介绍一种高端非主流玩 ...

  3. Python桌面自定义---实现定时更换桌面壁纸

    Python桌面自定义---实现定时更换桌面壁纸 1 效果 2 获取大量壁纸 3 Python代码实现定时更换壁纸 1 效果   大致效果如下,设置过定时更换壁纸的应该都知道是啥场景. 2 获取大量壁 ...

  4. linux更改桌面壁纸的脚本,自动更换桌面壁纸的脚本,支持Ubuntu 18.04系统

    下面提供一个自动更换桌面壁纸的脚本,它支持Ubuntu 18.04.UbuntuKylin 18.04.Ubuntu Mate系统. 注意事项: 1.默认的壁纸通常在目录路径为/usr/share/b ...

  5. WINCE6.0去掉桌面快捷方式

    WINCE6.0去掉桌面快捷方式,主要是修改xxx.bat文件,比如我要去掉My Documents和Media Player的快捷方式. (1)    去掉My Documents桌面快捷方式 找到 ...

  6. 基于红帽的Linux(centOS/fedora/RHEL)gnome3.34桌面环境用命令行更换桌面壁纸

    GNOME桌面环境用命令行更换桌面壁纸 问题引入 这篇文章将向你介绍基于红帽的linux使用GNMOE桌面环境,使用命令行更改桌面壁纸的方法. 有人会问:用命令行更改壁纸岂不是无聊至极?其实并不无聊. ...

  7. 【Python】采集3万张4K超清壁纸,实现定时自动更换桌面壁纸脚本(内含完整源码)

    前言 嗨喽!大家好,这里是魔王~ 发现一个不错的壁纸网站,里面都是超高清的图片 所以,我打算把这些壁纸都采集下来,然后在做一个自动跟换桌面壁纸的脚本,这样基本上你一年都可以每天都有不重复桌面了 先来看 ...

  8. Python实例一一更换桌面壁纸

    最近学习了一些Python基础知识,想着利用Python做一些小的脚本,然后看到一篇博客,介绍了如何抓取Bing主页上的图片来作为电脑的壁纸,于是就照例实现一下,在实现的过程中遇到一些小问题,记录一下 ...

  9. 【树莓派入门】树莓派如何更换桌面壁纸?

    树莓派更换壁纸 这里我使用的是树莓派3B+,其他大同小异啊,那我们开始吧. 省流教程 1-点击树莓派左上角的 草莓图标 2-点击 首选项 (倒数第三个) 3-点击 Appearance Setting ...

最新文章

  1. java判断时间为上午,中午,下午,晚上,凌晨
  2. 【Linux】【服务器】 CentOS7下安装MySQL详细过程步骤
  3. ercp手术为什么那么贵_尼泊尔佛像为什么那么贵?
  4. 通过最简单的button控件,深入学习SAP UI5框架代码系列之零
  5. C#访问postgresql数据库类MyPostDB的实现
  6. python selenium 点击开始按钮_使用Selenium和Python单击一个按钮
  7. mysql innodb 并发 插入 慢_InnoDB并发插入,居然使用意向锁?
  8. Linux对I/O端口资源的管理(5)
  9. MSDN 访谈录(MSDN Show)C#编程
  10. Hadoop组件概览
  11. excel熵值法计算权重_熵权法评价估计详细原理讲解
  12. SSM框架整合详细过程
  13. 【Python】爬虫-----下载B站视频
  14. Python Pandas实现简单Excel数据表合并
  15. html表格的常用样式
  16. 电视影评-《战狼2》观后感
  17. PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换
  18. html里面的view怎么修改,asp.net mvc 3-在局部视图中修改MVC 3 ViewBag不会保留到_Layout.cshtml...
  19. 5.WEB及远程操作
  20. FPS透视自瞄基本概念

热门文章

  1. 020_Jedis的Set数据类型
  2. 071_设置日期方法
  3. java的classpath配置文件_Java Classpath及.properties配置文件
  4. RecyclerView.Adapter:全能notify解决方案
  5. oracle服务端用sql查看连接到数据库的IP
  6. python翻译文档地址
  7. 用友t6怎么用文件服务器设置,用友T6库存管理选项设置:专用设置
  8. android程序db文件用什么编辑器,在 Android Studio 上调试数据库 ( SQLite )
  9. java将本地图片转为bas64_JAVA将图片(本地或者网络资源)转为Base64字符串
  10. python2.7 pip安装htmlreport报错_pytest十五:pytest-html 生成 html 报告