Windows ce 桌面定制小结
一、采用standard shell,
去掉任务栏 代码%_winceroot%\public\shell\oak\hpc
我尝试了以下两种方法:
1、在taskbar.cpp中将函数BOOL CTaskBar::Register()的内容全部删除,直接return TRUE;
2、在explorer.cpp中将函数DWORD WINAPI CreatTaskBar()的内容删除,直接return 0;
两种方法都可以实现,只是不太清楚哪个方法更节约时间和空间。个人感觉第2个方法比较好。
去除桌面“我的电脑”“回收站”的图标
代码%_winceroot%\public\shell\oak\files
在shell.reg文件中找到这两个键值,它们对应着桌面上的我的电脑和回收站,删除这两个键值:
[HKEY_LOCAL_MACHINE\Explorer\Desktop]
"{000214A0-0000-0000-C000-000000000046}"="My Computer"
"{000214A1-0000-0000-C000-000000000046}"="Recycle Bin"
注:也可只修改项目release目录下的shell.reg.之后只要make image就可以了。
二、采用taskman shell,需设置环境变量__SYSGEN_TASKMAN=1.。
taskman shell没有任务栏、开始菜单和桌面图标,但有桌面背景色。
代码%_winceroot%\public\wceshellfe\oak\taskman\
修改桌面背景色
mindeskt.cpp中的void Desktop_OnPaintBkgnd()函数,更改其中的brush的颜色即可。
即将HBRUSH hBkBrush = CreateSolidBrush(GetSysColor(COLOR_BACKGROUND));
改成HBRUSH hBkBrush = CreateSolidBrush(RGB(123,230,123));即可实现背景色的改变。
----------------------------------
修改wince桌面背景图片及桌面上的图标:
方法一:
将图片文件拷贝到生成平台目录,如:拷贝 Wallpaper_800×600.bmp 到D:\WINCE500\PBWorkspaces\SHELL_demo\RelDir\Emulator_x86_Release 下
Platform Builder 5.0 下点击菜单 “Build OS” -> “Open Release Directory”
在弹出的 console 中 输入: notepad shell.bib,也就是用记事本打开
D:\WINCE500\PBWorkspaces\SHELL_demo\RelDir\Emulator_x86_Release 下的
shell.bib 文件,进行编辑
编辑下面的代码,把 windowsce_qvgap.bmp 修改成自己添加的图片文件。即把
; @CESYSGEN IF SHELL_MODULES_QVGAP
windowsce.bmp $(_FLATRELEASEDIR)\windowsce_qvgap.bmp NK S
; @CESYSGEN ENDIF SHELL_MODULES_QVGAP
改为:
; @CESYSGEN IF SHELL_MODULES_QVGAP
windowsce.bmp $(_FLATRELEASEDIR)\Wallpaper_800x600.bmp NK S
; @CESYSGEN ENDIF SHELL_MODULES_QVGAP
保存 shell.bib 文件,回到 pb5,点击菜单
“Build OS” -> “Make Run-Time Image”,即重新生成镜像文件,然后下载到模拟器或设 备,就会发现壁纸已经换了 。
方法二:
1.应该修改你的release目录下的wceshellfe.reg文件
2.将图片拷贝到你的release目录下
3.修改release目录下的platform.bib文件,把图片文件加入内核(增加这么一句:
window.bmp $(_FLATRELEASEDIR)\window.bmp NK U
4.make image 。
方法三:
还有一种可行办法的:
条件是系统支持注册表保存。
设定好背景,挂起系统,以后每次启动都是设置好的背景了
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gooogleman/archive/2009/04/22/4099763.aspx