开发自己的Shell
来源:互联网 发布:游戏公司的程序员累吗 编辑:程序博客网 时间:2024/04/30 20:33
环境: Wince5.0+ARM926目的: 按照自己的风格建立Shell背景: 考虑到产品外观及风格的一致性,无法直接把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 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,/ 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
- 开发自己的Shell
- 用python开发一个自己的shell(上)
- 自己的shell
- shell的自己实现
- 自己的bash,自己的shell终端
- 编写自己的shell(3)
- 自己编写简单的shell
- 学习shell的自己总结
- linux 编写自己的shell
- 实现自己的shell框架
- 自己编写的简单shell
- 开发自己的搜索引擎
- 自己开发的应用
- 自己的开发笔记
- 开发自己的操作系统
- 开发自己的NSZombie
- 开发自己的 Dijit
- 编写自己的Shell解释器
- 在GridView里使用单选按钮,RadioButton/Radio
- Valgrind--Linux下的内存调试和代码解剖工具
- Error和Exception的区别
- LoadRunner中自定义HTTP关联规则
- CompareValidator 构造函数
- 开发自己的Shell
- RegularExpressionValidator 事件
- GridView自定义分页
- lable
- 赞美大自然的生灵
- 项目管理规范-RUP管理实施(一)
- C#记事本
- button
- RowDataBound使用注意事项