WINCE开始默认是运行explorer.exe,是在shell.reg中设置的
[HKEY_LOCAL_MACHINE/init] "Launch50"="explorer.exe" "Depend50"=hex:14,00, 1e,00
因此只要在platform.reg或者project.reg中做类似的更改就可以实现开机自动运行指定AP的功能。
如:
[HKEY_LOCAL_MACHINE/init] "Launch50"="xxx.exe" "Depend50"=hex:14,00, 1e,00
Launch是启动顺序,后边的数值越小越早启动。
Depend是依赖项,必须所示数字的启动项正常启动才可以。
但是需要注意的是某些MFC的程序是基于explorer.exe的,必须启动explorer.exe才能正常工作,可以进行如下设置
[HKEY_LOCAL_MACHINE/init] "Launch70"="xxx.exe" "Depend70"=hex:14,00, 1e,00 ,32,00
如果想启动explorer.exe但是不让任务栏在正文显示的话有几种方式来实现:
1、改注册表:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Shell/AutoHide]
"Default"=dword:1
但是此种方法隐藏的任务栏在屏幕的最正文还是可以看到一个任务栏的窄条。
2、通过AP来实现
因为是先启动explorer.exe后启动AP,所以估计还是会有个瞬间显示的问题
3、通过修改public下explorer的源代码来把任务栏的高度设置成0
这个是最有效的方法。
由于我不需要启动explorer.exe,并且只有第一种方法做过实验,所以在此不提供后两种方法的代码。
设置过程中有几个值是不能使用的,如下:
Launch20:device.exe;
Launch30:gwes.exe;
Launch60:services.exe;
这都是系统必要的程序,不能替换。