项目中开发中,客户提出需要应用程序在终端设备开机后自动运行。有需要咱就得做,下面把我的实现方式总结一下:
一、WM
在Windows Mobile系统下,这个需求相当容易满足。写个lnk文件,指向你的应用程序。然后将这个lnk文件放入Windows/Startup文件夹内即可。这样,设备开机后,你的应用程序将会自动运行。lnk文件内容示例:
1 58#"\Program Files\MIAP\MS.exe"
二、WinCE(Coolpad7360/Coolpad N68)
咱们重点说一下在WinCE下如何实现(注:终端设备是酷派的7360)。之所以说是重点,肯定是有原因的,因为当时在这上面可花了不少的时间。本来想按照WM系统下的实现方式,但酷派有个特点导致无法实现。这个特点就是设备在重启后,所有文件夹(UserData及SD卡除外)将进行强制还原。也就是说如果你将lnk文件按WM方式放入Windows/Startup文件夹下后,设备一重启这个文件就没了,当然也就不可能启动应用程序了。后来,又陆续试过其他方法,如改注册表等,最终都未能实现。
最后,在联系了Coolpad技术支持后,才将此问题解决。解决方法是,在设备UserData文件夹下有个start.ini文件,拷贝出来后,在最下面加上这一行:
1 APP \SD\MIAP\AutoRunDemo.EXE
注意,不要修改或删除其他内容。这样,在终端设备启动后,你的应用程序将会自动运行。不过,若是你在Coolpad下做开发,而且你的应用程序需要访问网络资源,建议最好不用开机自动启动功能。因为其自身启动时间就很长,运行很多系统程序;若加上将会导致系统更慢,甚至系统无法正常启动