1). 简介
在嵌入式设备中通常开机启动后会要求直接显示应用程序界面,而不是系统桌面,甚至为了避免客户随意或者无心修改到应用或者其他配置,是需要隐藏桌面的,本文就介绍在WinCE下开机自启动应用程序的相关设置。
本文验证相关配置的硬件平台采用Toradex Colibri i.MX6 ARM计算机模块 (基于NXP/Freescale i.MX6 SoC)和Colibri Eva Board 开发载板。
2). 开机自启动设置
WinCE实现开机自启动应用程序有两种方法:
a). AutoRun文件夹启动
./ 在WinCE系统内 ”FlashDisk” 目录下,或者外部SD/USB盘根目录下,创建名为 ”AutoRun” 的目录,将所需要开机启动的应用放进去即可,“Launcher.exe”每次开机或者外部SD/USB盘插入时候会自动执行这个目录里面的程序。
./ “AutuRun” 文件夹里面的应用程序可以直接是可执行程序(.exe),也可以是快捷方式(.lnk),或者是批处理文件(.bat)。如何在WinCE下创建快捷方式请参考这里。
./ 最后,如果同时需要隐藏WinCE原始桌面,请如下修改注册表;如需重新恢复桌面,请参考这里。
-------------
[HKLM\init]
Launch50=_explorer.exe
-------------
b). 替换explorer.exe启动
./ 在WinCE系统内 ”FlashDisk” 目录下,创建 “System” 目录,将所需开机启动的应用可执行程序(appname.exe)以及额外所需的库文件都放置在这里。
./ 如下修改注册表,则每次开机启动后会自动加载应用,而不加载桌面(explorer.exe)。
-------------
[HKLM\init]
Launch50=appname.exe
-------------
3). 具体应用测试
a). 这里根据Toradex 提供的GPIO Library开发了一个简单的GPIO应用,工程文件和生成的应用请从这里下载,应用名为 ”gpiotest.exe” 。
b). 为了测试上述两个方案方便,我们在ARM平台WinCE系统 ”FlashDisk”目录下面创建 “System” 文件夹,将”gpiotest.exe”可执行程序放置于此文件夹;然后再继续在”FlashDisk”目录下面创建 ”AutoRun” 文件夹,在里面创建一个”gpiotest.exe”对应的快捷方式文件”gpiotest.lnk”,编辑内容如下:
-------------
30#\FlashDisk\System\gpiotest.EXE
-------------
c). ARM平台系统重新上电,如下图可以看到部署的应用已经自动启动
d). 然后如下修改注册表,禁止桌面显示,再次重新启动,可以看到只有部署的应用启动了而没有桌面。
e). 通过在SD卡根目录放置”AutoRun”目录和 ”explorer.lnk”文件,来恢复桌面后,再次如下设置注册表;重启后也会看到上面一样应用启动画面。
// explorer.lnk
-------------
21#\windows\explorer.exe
-------------
4). 总结
采用AutoRun的方式相对修改explorer方式更为灵活,具体可以根据需要来决定。