其实网上这种所谓的一机多图的实现已经很多了,但是基本都是启动一个选择界面。然后选择要启动的导航。虽然很简单,但是有个缺点就是如果切换出去之后要想再返回导航需要重新启动选择界面。这个也太tm蛋疼了!
刚开始的时候是自己写了一个,但是由于编译器和开发环境的问题,导致最后的程序体积较大。并且机器内存本身有限,效果虽然可以但是在切换的时候有时候会出现那个加载导航的进度条看起来就非常蛋疼。如果有兴趣的话可以从此处下载源码进行编译你也可以自己进行修改,猛击此处下载源码!
效果视频如下(不是最新版,新版可以优化到3m左右,upx压缩到800k,如果要使用建议在启动导航之后自动退出选择器,可以有效的释放更多的内存):
如果没有启动导航,那么第一次启动的时候会启动选择界面,启动高德或者凯立德之后再次点启动导航将会自动切换到导航界面。导航退出之后再次切换将会继续启动选择界面。
另外一个办法就是网上流传的比较多的启动器,但是通过MortScript运行脚本同样可以达到这样的效果,当然如果不想使用脚本可以自己写一个小程序来判断导航进程或者窗口是否存在。
根据提示修改Run目录下的RUN.mscr脚本文件(代码还是非常容易理解的):
代码语言:javascript复制If(ProcExists("navione.exe"))
RUN("SDMMCNaviOneNaviOne.exe")
Exit
EndIf
##如果进程中有凯立德就再运行一遍激活后结束脚本。
If(ProcExists("DSA.exe"))
RUN("SDMMCDSADSA.exe")
Exit
EndIf
If(ProcExists("mapbar.exe"))
RUN("SDMMCmapbarmapbar.exe")
Exit
EndIf
##以上都一样的,有几个图就加几个,注意不同机器路径中卡名不同,需要更改。
RUN("SDMMCAppnavi.exe")
sleep(8000)
Kill("navi.exe")
##以上地图都没开的话 运行一机多图,运行后8秒自动关闭一机多图。
##有些一机多图软件与脚本程序冲突必须关闭一机多图,否则不能再次运行脚本,并且关闭了也节省内存。
If(ProcExists("navione.exe"))
Exit
EndIf
##如果进程中有了凯立德,证明操作者选中了kld,程序结束
If(ProcExists("mapbar.exe"))
Exit
EndIf
If(ProcExists("DSA.exe"))
Exit
EndIf
##以上又是一样的,有几个图就写几个。
RUN("StorageCardmapbarmapbar.exe")
## 如果运行到这里证明 8秒内没有选择 地图,自动运行图吧,这个可以根据喜好修改。
Exit
下载链接:http://pan.baidu.com/s/1ntshm21
☆文章版权声明☆
* 网站名称:obaby@mars
* 网址:https://h4ck.org.cn/
* 本文标题: 《基于Windows CE车载导航一体机一机多图的实现》
* 本文链接:https://h4ck.org.cn/2014/05/基于windows-ce车载导航一体机一机多图的实现/
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。
分享文章:
相关文章:
- 基于Lazarus 的Win CE开发
- 大家注意一下这个【病毒】 ,专门针对delphi的,嵌入源码的病毒。
- MemLibrary 内存 加载DLL DELPHI
- [折腾车载GPS的一点记录:-
- 蛋疼的Visual Studio2012 驱动模板创建的工程竟然无法编译
- UnGzip Data(PyQt4) By obaby
- 智能源码统计伴侣 V3.7
- FTP my IP
- 破解专用记事本 修正版
- WebBrowserWithUI[支持设置滚动条]