修改explorer.exe去掉桌面/任务栏/支持MFC/支持自定义启动

来源:互联网 发布:linux红帽5安装oracle 编辑:程序博客网 时间:2024/05/22 04:45
根据原始WinCE自定义shell,大家遇到最多的问题就是如何不显示原始桌面,启动自己的程序取代
但是如果拿掉explorer.exe大家会发现自己的MFC程序运行不起来了
这里提供简单的方法修改explorer的源码,来实现去掉桌面/任务栏/支持MFC/支持自定义启动

Explorer的源码在X:\WINCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER
1 修改X:\WINCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER\INC\taskbar.hxx
#define TASKBAR_HEIGHT        26
复制代码
这个改动大家一看也就明白,把taskbar高度置为0,即不显示了,这样任务栏就解决

2 修改X:\WINCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER\MAIN\desktop.cpp
SetRect(&rc, 0, 0, GetSystemMetrics(SM_CXVIRTUALSCREEN), GetSystemMetrics(SM_CYVIRTUALSCREEN));
复制代码
干掉了桌面

3 修改X:\WINCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER\MAIN\explorer.cpp
sndPlaySound(c_szSystemStart, SND_ALIAS|SND_ASYNC|SND_NODEFAULT);
复制代码
这样就可以开机启动你的程序abc.exe,这个程序建议做成一个loader程序,你以后想开机做任何事情就直接修改这个程序(比如开机校准屏幕),这个程序再来引导你的主shell程序
如果直接写成启动你的主shell程序,以后加功能就要改你的成品shell了


大家也看到了,explorer的源码在public下,所以尽量少修改,所以定义一个loader程序可以减少频繁修改explorer的机会

最后大家编译,然后sysgen系统,生成新的explorer.exe
建议先备份原始explorer.exe以备不时之需