WinCE开机自动启动应用与Shell定制

5星 · 超过95%的资源 需积分: 18 34 下载量 27 浏览量 更新于2024-12-04 1 收藏 67KB DOCX 举报
本文主要介绍了如何在Windows CE (WinCE) 操作系统中实现应用程序的开机自启动,以及如何处理自定义Shell与Explorer.exe之间的依赖关系。 在WinCE系统中,自启动应用程序通常有两种实现方式:修改注册表和创建自启动快捷方式。首先,我们来看修改注册表的方法。在注册表的`[HKEY_LOCAL_MACHINE\init]`下,通过设置`LaunchXX`键值来指定启动程序,例如`"Launch70"="MyApp.exe"`,其中`XX`表示启动顺序,数字越小优先级越高。同时,`DependXX`键值用于指定依赖项,如`"Depend70"=hex:14,00,1e,00`。将这个配置加入到`platform.reg`文件中,当WinCE启动时,MyApp.exe就会自动运行。 然而,如果希望WinCE开机直接进入自定义的Shell而不是默认的Explorer.exe,可以将`Launch50`的值由Explorer.exe替换为MyApp.exe。但这可能导致基于MFC的自定义Shell出现问题,因为某些MFC类(如CFileDialog)可能依赖于Explorer.exe。例如,不启动Explorer.exe时尝试导入注册表文件,可能会遇到错误,而在启动Explorer.exe时则没有问题。 为了解决这个问题,我们需要保留Explorer.exe的启动,但不让它显示WinCE界面。在WinCE 5.0和6.0中,Explorer.exe的源代码是公开的,可以在相应路径下找到。通过对`C:\WINCE600\PUBLIC\SHELL\OAK\HPC\EXPLORER\MAIN\desktop.cpp`等文件的修改,特别是`CDesktopWnd::Create()`函数,理论上可以实现让Explorer.exe后台运行,不显示用户界面,从而满足自定义Shell的需求。 需要注意的是,直接修改操作系统核心文件可能对系统的稳定性和兼容性造成影响,因此在实际操作前需谨慎考虑,最好先备份原始文件,并进行充分的测试。此外,对于依赖于Explorer.exe的组件,可能需要额外的适配工作,以确保它们在没有Explorer.exe的情况下仍能正常运行。 实现WinCE开机自启动并定制Shell涉及对注册表的修改、程序依赖性的理解,以及可能的系统源码级别的调整。这需要开发者具备深入的WinCE系统知识和编程技巧。在进行这些操作时,应遵循最佳实践,以确保系统的可靠性和用户体验。