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

本文介绍如何在Windows CE中自定义Shell,包括隐藏任务栏、移除桌面,并实现开机启动自定义程序的方法。通过简单的源码修改,可以实现一个个性化的启动界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源:http://www.armce.com/bbs/redirect.php?tid=2082&goto=lastpost

 

根据原始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

  1. #define TASKBAR_HEIGHT        26
  2. 改为
  3. #define TASKBAR_HEIGHT        0
复制代码

这个改动大家一看也就明白,把taskbar高度置为0,即不显示了,这样任务栏就解决

2 修改X:/WINCE500/PUBLIC/SHELL/OAK/HPC/EXPLORER/MAIN/desktop.cpp

  1. SetRect(&rc, 0, 0, GetSystemMetrics(SM_CXVIRTUALSCREEN), GetSystemMetrics(SM_CYVIRTUALSCREEN));
  2. 改为
  3. SetRect(&rc, 0, 0, 0, 0);
复制代码

干掉了桌面

3 修改X:/WINCE500/PUBLIC/SHELL/OAK/HPC/EXPLORER/MAIN/explorer.cpp

  1. sndPlaySound(c_szSystemStart, SND_ALIAS|SND_ASYNC|SND_NODEFAULT);
  2.     bInitialized = TRUE;
  3. 下面加入
  4.     PROCESS_INFORMATION pi;
  5.     BOOL ret = CreateProcess(_T("你的程序的路径,如//windows//abc.exe"), NULL, NULL, NULL, FALSE,
  6.                 0, NULL, NULL, NULL, &pi);
复制代码

这样就可以开机启动你的程序abc.exe,这个程序建议做成一个loader程序,你以后想开机做任何事情就直接修改这个程序(比如开机校准屏幕),这个程序再来引导你的主shell程序
如果直接写成启动你的主shell程序,以后加功能就要改你的成品shell了


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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值