当前位置:首页 > 编程开发

WinCE下自定义Shell的方法

webgou16年前 (2010-08-13)编程开发211

考虑到产品外观及风格的一致性,无法直接把Explorer作为Shell,而且,又无简单的把Explorer直接放到后台(会出现一些问题,譬如启动的瞬间,Explorer会显示一下)
方法:
1. 直接修改Explorer,改为自己的风格。个人认为这是最根本最有效的方法,但是工作量比较大,考虑到时间只能放弃。
2. 直接用自己的Shell替代Explorer。在Shell.reg中有一句
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
就是这一句在启动的最后把Explorer启动起来。(Launchxx的含义及用法在PB的帮助里面有解释)。
把explorer.exe替换自己的shell即可(譬如MyShell.exe),以前一直使用这种方法。
但 这种方法有缺陷:wince的Common Dialog是依赖于Explorer的,这就导致很多Wince自带的程序执行时有问题,譬如WordPad无法打开和保存。。。(如果哪位知道如何在 不启动Explorer的情况下使用Common Dialog的话,还烦请告诉小弟)
3. 现在是对Explorer稍作修改确保显示没有问题,然后放在后台,步骤如下:
3.1. 按照PB Help的提示修改Explorer(如果通过修改注册表实现,则尽量不修改Explorer代码)
a. 复制WINCE500\PUBLIC\SHELL\OAK\HPC,到WINCE500\PUBLIC\SHELL\OAK目录下,并重命名为MyShell unigps.cn
b. 修改dir文件
c. 去掉桌面上显示的"Microsoft Windows CE...........":
直接把desktopview.cpp中#ifndef SHIP_BUILD改为#if 0即可。
(理论上在Platform Setting里面可以设置此段文字不显示的,但是不知为何不起作用)
d. 修改Taskbar自动隐藏时的高度:
taskbar.hxx中,把TASKBAR_HEIGHT_AUTOHIDE改为0
e. 去掉Explorer启动时的音乐:
把WinMain中的sndPlaySound(c_szSystemStart, SND_ALIAS|SND_ASYNC|SND_NODEFAULT);注释掉。
(注册表中,没有找到开机音乐的键值。如果哪位知道,请不吝赐教)
3.2. 修改注册表
a. Shell.reg: 桌面上去掉"My Device"和"Recycle Bin"两个图标
找到
[HKEY_LOCAL_MACHINE\Explorer\Desktop]
"{000214A0-0000-0000-C000-000000000046}"="My Device"
"{000214A1-0000-0000-C000-000000000046}"="Recycle Bin"
改为
[HKEY_LOCAL_MACHINE\Explorer\Desktop]
;"{000214A0-0000-0000-C000-000000000046}"="My Device"
;"{000214A1-0000-0000-C000-000000000046}"="Recycle Bin"
b. 去掉桌面上的其它快捷方式
wince用Directory("\Windows\LOC_DESKTOP_DIR"):-File("LOC_MSPWORD_LNK","\Windows\wordpad.lnk")的方式在桌面上建立快捷方式
把WINCE500\PUBLIC\WCEAPPSFE\OAK\FILES\wceappsfe.dat中的所有Directory("\Windows\LOC_DESKTOP_DIR"):-File(...)全部注释掉。
把WINCE500\PUBLIC\WCESHELLFE\OAK\FILES\wceshellfe.dat中的所有Directory("\Windows\LOC_DESKTOP_DIR"):-File(...)全部注释掉。
c. 设置Taskbar为自动隐藏
在注册表中添加
; -- 使任务栏缺省自动隐藏
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\AutoHide]
@="1"

; -- 使任务栏缺省不总在最前
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\OnTop]
""=dword:0
d. 修改桌面背景颜色
[HKEY_LOCAL_MACHINE\SYSTEM\GWE]
"SysColor"=hex:\
00,00,00,00,\
00,00,00,00,\ //Desktop窗口背景颜色,现在设置为黑色
00,00,00,00,\
00,00,00,00,\
EF,EB,DE,00,\
FF,FF,FF,00,\
00,00,00,00,\

www.unigps.cn


00,00,00,00,\
00,00,00,00,\
FF,FF,FF,00,\
C0,C0,C0,00,\
C0,C0,C0,00,\
80,80,80,00,\
31,69,C6,00,\
FF,FF,FF,00,\
EF,EB,DE,00,\
AD,AA,9C,00,\
80,80,80,00,\
00,00,00,00,\
00,00,00,00,\
FF,FF,FF,00,\
73,6D,63,00,\
FF,FF,FF,00,\
00,00,00,00,\
FF,FF,E1,00,\
EF,EB,DE,00,\
00,00,00,00
e. 背景图片
[HKEY_CURRENT_USER\ControlPanel\Desktop]
"wallpaper"="\\NandDisk\\Startup\\wallpaper.bmp"
f. 启动自己的Shell
[HKEY_LOCAL_MACHINE\init]
"Launch70"="\\Windows\\ShellLoader.exe"
"Depend70"=hex:14,00, 1e,00

效果:系统启动后,先启动explorer显示wallpaper.bmp,然后启动ShellLoader.exe

 

来源:http://blog.chinaunix.net/u2/63726/showart_1279963.html

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=270

标签: wince
分享给朋友:

“WinCE下自定义Shell的方法” 的相关文章

DeepSeek-R1 本地部署指南:Ollama

 DeepSeek-R1 本地部署指南:Ollama...…

Android消息传递应用功能解析

Android手机操作系统中有一种叫做Intent的消息传递机制。这在实际编程中是一个核心技术,值得我们去深入的研究。在这里大家将会了解到有关Android消息传递的一些基础应用技巧,帮助大家理解。每一个Cursor、ContentResolver做为一个小的注册中心,相关观察者可以在这个中心注册,…

全系列Unity4.x.x到5.6.2破解Win&Mac!

 http://blog.csdn.net/Weltraum__/article/details/74315604 Unity官网所有版本下载地址请戳: ...…

MacBook 常用快捷键

Mac OS X系统图形表示方法⇧ = shift⌃ = control⌥ = option / alt Home=fn + ◄ End=fn + ► Page Up=fn + ▲Page Down=fn + ▼ 删除后一个字符(普通键盘的Delete)=fn…

使用ServerSocketChannel实现的file

http://blog.csdn.net/java2000_net/archive/2008/06/10/2529015.aspxhttp://www.java2000.net/viewthread.jsp?tid=6079...…

Git Release Notes (Git-1.7.7-preview20111012)

Git Release Notes (Git-1.7.7-preview20111012)…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。