最新善领虚拟端口专用工具自动运行实用脚本操作指南
善领虚拟端口专用工具(DSA_VPORT)发布后,版本不断升级,但每次运行善领虚拟端口专用工具(DSA_VPORT)都必须手工打开虚拟端口和转入后台运行,再运行导航软件。能否让这一切都自动完成呢?下面提供的程序就可以实现。为方便GY使用与修改,特作说明如下:
1、默认环境
⑴卡名StorageCard、原始端口为2、波特率为4800;虚拟端口3;
(测试环境:4.3吋一体机(StorageCard Mesada_2440 multi-platform WinCE 4.20.0 Com2 4800)、KLDC(P9902-C5102-08A6ZF3))
⑵卡根目录已安装凯立德C版导航软件,安装路径为StorageCard\NaviOne ;
环境与上述相同的GY安装后可以直接使用,若有不同则需按后面的说明自行修改。
2、安装说明
⑴将附件解压后存入卡根目录(如StorageCard\,此DSA_VPORT为V5版,对修正版及后续版本见文后说明!);
⑵将AutoVport.mscr文件中的所有卡名StorageCard改为自己的卡名;
⑶根据需要修改导航软件的配置文件NaviConfig原始端口.txt和NaviConfig虚拟端口.txt中的参数;
⑷修改开机启动文件的路径或设好一机多图入口,使AutoVport.exe成为可启动文件。
3、脚本功能
⑴提供初始化选择,可以限时提供手动配置与修改vportsave.dat中的参数;
⑵可以自动打开虚拟端口或或关闭虚拟端口并转入后台运行;
⑶自动运行凯立德C版导航软件(若已虚拟端口则使用虚拟端口运行KLD C,若已关闭虚拟则以原始端口打开KLD C).
4、脚本清单
(附件中的AutoVport.mscr文件,修改时请用纯文本编辑软件)
#系统初始化选择
ChoiceDefault ( “初始化菜单”,”请10秒钟内选择一个初始化操作(系统异常请选择3全面初始化)”,4,10,”1、删除配置文件 vportsave.dat”,”2、删除用于检测的端口配置文件”,”3、全面初始化(同时执行第1-2项)”,”4、系统启动时自动初始化(默认)”)
Case (1)
Delete (“\StorageCard\VPort\vportsave.dat” )
Case (2)
Delete (“\StorageCard\NaviOne\NaviConfig原始端口.txt” )
Delete (“\StorageCard\NaviOne\NaviConfig虚拟端口.txt” )
Case (3)
Delete (“\StorageCard\VPort\vportsave.dat” )
Delete (“\StorageCard\NaviOne\NaviConfig原始端口.txt” )
Delete (“\StorageCard\NaviOne\NaviConfig虚拟端口.txt” )
Case (4)
Copy (“\StorageCard\VPort\toolhell.dll” ,”\Windows\toolhelp.dll”,true)
If ((NOT(ProcExists(“Vport.exe” ))) AND (fileExists (“\StorageCard\NaviOne\NaviConfig虚拟端口.txt”)))
Delete (“\StorageCard\NaviOne\NaviConfig虚拟端口.txt” )
Endif
EndChoice
#运行Vport.exe并等待VPort窗口出现(卡名StorageCard和路径要按实际更改)
Run(“\StorageCard\VPort\Vport.exe”)
While (NOT(WndExists(“DSA_VPORT”)))
sleep 1000
EndWhile
#设置Vport配置文件(需修改可先删除配置文件vportsave.dat再运行本程序)
If (NOT(fileExists (“\StorageCard\VPort\vportsave.dat” )))
Message(“ 点击本窗口OK后,在20秒钟内设置好原始端口、波特率和虚拟端口并保存设置,再关闭存盘提示!”,”操作提示”)
sleep 20000
Endif
#自动打开或关闭虚拟端口并转入后台运行(第一次运行打开虚拟端口,再次运行则关闭虚拟端口)
If (WndExists(“DSA_VPORT”))
Show(“DSA_VPORT”)
MouseClick( 350,90 ) #此句改为MouseClick( “DSA_VPORT”,275,85 )可避免拖动窗口点击无效
sleep 2000
MouseClick( 350,150 ) #此句改为MouseClick( “DSA_VPORT”,275,140 )可避免拖动窗口点击无效
sleep 2000
Endif
#设置凯立德C版的端口配置文件(这里卡名StorageCard、原始端口2、波特率4800;虚拟端口3,可根据实际更改)
If (NOT(fileExists (“\StorageCard\NaviOne\NaviConfig虚拟端口.txt” )))
Delete (“\StorageCard\NaviOne\NaviConfig原始端口.txt” )
Copy (“\StorageCard\VPort\NaviConfig虚拟端口.txt” ,”\StorageCard\NaviOne\NaviConfig虚拟端口.txt”,true)
Copy (“\StorageCard\VPort\NaviConfig虚拟端口.txt” ,”\StorageCard\NaviOne\NaviConfig.txt”,true)
#提示当前使用虚拟端口(供调试用,调试结束建议将下一句的Message改为#Message)
Message(“ 现在使用虚拟端口!”,”当前状态”)
Else
Delete (“\StorageCard\NaviOne\NaviConfig虚拟端口.txt” )
Copy (“\StorageCard\VPort\NaviConfig原始端口.txt”,”\StorageCard\NaviOne\NaviConfig原始端口.txt”,true)
Copy (“\StorageCard\VPort\NaviConfig原始端口.txt”,”\StorageCard\NaviOne\NaviConfig.txt”,true)
#提示当前使用原始端口(供调试用,调试结束建议将下一句的Message改为#Message)
Message(“ 现在使用原始端口!”,”当前状态”)
Endif
#运行导航软件延时4秒后自动点击接受键(这里运行的是凯立德C版,对不同导航软件可按卡名、路径、导航软件名等实际进行更改)
Run(“\StorageCard\NaviOne\NaviOne.exe”)
sleep 4000
MouseClick( 360, 260 ) #此句改为SendCR更好,谢谢foshanyzq建议
Exit
补充说明的是,这是实用脚本不是通用脚本,对不同的GPS配置和不同的导航软件,需要修改和折腾的哦,愿GY在折腾中得到快乐并分享快乐!
V5修正版和V6版修改方法:
1、下载本贴附件按上述说明安装调试好(对已经安装调试的此步可忽略);
2、到 http://www.dsa8.com/archives/20.html 下载V6版,解压后拷入Vport覆盖原文件;
3、将 MouseClick( “DSA_VPORT”,275,85 ) 改为 MouseClick( “DSA_VPORT”,227,64 ) ;将 MouseClick( “DSA_VPORT”,275,140 ) 改为 MouseClick( “DSA_VPORT”,141,98 ) 即可(不用Vport自带的启动导航功能)。
4、若想使用Vport启动导航则需要先设置好导航路径并存盘设置,再将Run(“\StorageCard\NaviOne\NaviOne.exe”) 改为 MouseClick( “DSA_VPORT”,227,128 )和 Minimize(“DSA_VPORT”) 两个语句。注意 MouseClick( “DSA_VPORT”,275,140 )可以不改而在其前加个#号(即不执行此句)。
应部分GY要求,下面给出V5修正版和V6版退出导航软件后直接关闭虚拟端口的修改方法:
将运行导航软件的脚本(最后一段)作如下修改即可。
#运行导航软件延时4秒后自动点击接受键(这里运行的是凯立德C版,对不同导航软件可按卡名、路径、导航软件名等实际进行更改)
Run(“\StorageCard\NaviOne\NaviOne.exe”)
While ((NOT (WndExists(“CARELAND NAVI”))) AND (WndExists(“DSA_VPORT”)))
Sleep 1000
EndWhile
If (WndExists(“CARELAND NAVI”))
sleep 4000
SendCR
EndIf
While ((WndExists(“CARELAND NAVI”)) AND (WndExists(“DSA_VPORT”)))
Sleep 1000
EndWhile
If(WndExists(“DSA_VPORT”))
Close(“DSA_VPORT”)
EndIf
Exit
V7版参考脚本如下:
#系统初始化选择
(本段同V6版,略)
#运行Vport.exe并等待VPort窗口出现(卡名StorageCard和路径要按实际更改)
(本段同V6版,略)
#设置Vport配置文件(需修改可先删除配置文件vportsave.dat再运行本程序)
(本段同V6版,略)
#自动打开或关闭虚拟端口并转入后台运行(第一次运行打开虚拟端口,再次运行则关闭虚拟端口)
If (WndExists(“DSA_VPORT”))
Show(“DSA_VPORT”)
MouseClick( “DSA_VPORT”,225,70 )
sleep 2000
MouseClick( “DSA_VPORT”,135,125 )
sleep 2000
Endif
#设置凯立德C版的端口配置文件(这里卡名StorageCard、原始端口2、波特率4800;虚拟端口3,可根据实际更改)
(本段同V6版,略)
#运行导航软件延时4秒后自动点击接受键(这里运行的是凯立德C版,对不同导航软件可按卡名、路径、导航软件名等实际进行更改)
Run(“\StorageCard\NaviOne\NaviOne.exe”)
While (NOT (WndExists(“CARELAND NAVI”)))
Sleep 1000
EndWhile
If (WndExists(“CARELAND NAVI”))
sleep 4000
SendCR
EndIf
Exit
