WinCE的开发人员和WinCE设备的用户应该对下面这两个错误不陌生,"Application encountered a serious error and must shut down"和"出现严重错误,必须被关闭"。WinCE下应用程序崩溃就会弹出这样的提示框,还会发出警告的声音。如果是在车里,那声音还是很刺耳的。不过,说实在的,开发人员看到这个可以接受,程序都是会出BUG的。但用户经常看到就不太应该了。我们应该完善代码,尽可能降低出现应用程序崩溃的概率。
很早之前写过一篇《WinCE下应用程序错误的解决之道》,文中介绍了一种方法。但实际项目后来并没有采用这种方法,收拾残局不如将其扼杀在摇篮里来的彻底痛快。因为WinCE是不完全开源的,所以最后还是采用了简单粗暴的方式,反汇编showerr.lib,去掉弹出这个出错提示框的代码段。此后在我们的车机上,用户就再也没有看到过如下图所示的错误提示了。
修改后的WinCE6.0 ARM平台的showerr.lib下载地址如下:
http://download.csdn.net/detail/sunrain_hjb/9453099
说明:我们WinCE车机在售时,实在不便分享该技术点。这也是事关产品用户体验的一个小点,有别于其他厂家的车机的。目前我们WinCE车机已经停售半年多了,市场上车机也大都改用Android,现在分享出来,让还在用WinCE做行业设备的同学参考,希望有所帮助。