弹丸论破v3最后活了谁:DSA2011一键换肤实用脚本[升级成通用版本又增普清版啦!]

来源:百度文库 编辑:中财网 时间:2024/05/04 06:56:02

DSA2011一键换肤实用脚本[升级成通用版本又增普清版啦!]

[DSA2011一键换肤通用脚本—见#2楼,普清版480x272只提供附件下载]
善领DSA2011版发布后,版本不断升级,尤其是皮肤开放性,给GY很大的方便,精美皮肤不断涌现。但每次更换皮肤都必须手工操作,显得很不方便。能否实现多幅皮肤共存一键换肤呢?下面提供的脚本程序就可以实现一键换肤。为方便GY使用与修改,特作说明如下:

    1、默认环境
⑴卡名SDMMC、原始端口为2、波特率为4800、虚拟端口3;
[测试环境:5吋迪瑞特一体机(WinCE 6.0 Com2 4800)、KLD(C1867-C7304-2431W08)、CJT黄金版(6020-5628-1386)]
⑵卡根目录已安装有一机多图(MobileNavigator)、凯立德(KLD800)、城际通(CJT)、善领导航预警系统(DSA2011)及常用工具(Tools),安装路径全部在根目录下;
环境与上述不相同时,需按后面的说明进行修改。

    2、安装说明
⑴将附件解压后存入卡根目录(如SDMMC\),将DSA2011_P52版(附件不提供,请另行下载)全部文件拷入DSA2011;
⑵将所有*.mscr文件中的所有卡名SDMMC改为自己的卡名并将多套皮肤资源文件(RES_800x480文件夹)以RES_800x480_2,RES_800x480_3,...拷入DSA2011目录中,在DSA2011中建立一个空文档Skin1.txt ;
⑶将tools\Script\DSA2011SkinMessage.mscr中“y=...”改为实际皮肤总套数,再将各套皮肤的名称信息录入到s[1],s[2],...;
⑷根据需要修改导航软件的配置文件和建立调用导航软件的脚本文件(本文不提供,根据需要修改和建立);
⑸修改开机启动文件的路径或设好一机多图入口,使一机多图(SDMMC\MobileNavigator\MobileNavigator.exe)成为启动文件。

    3、脚本功能
⑴提供升序换肤和降序换肤功能,显示换肤序号和名称信息,实现运行DSA2011前一键换肤;
⑵提供显示当前皮肤功能。
       4、脚本清单
(附件中的所有*.mscr文件,修改时请用纯文本编辑软件)
⑴升序换肤SetDSA2011SkinUp1.mscr和SetDSA2011SkinUp2.mscr清单:
SetDSA2011SkinUp1.mscr:
# 运行SetDSA2011SkinUp2.mscr脚本对应的执行文件
RUN ("\SDMMC\tools\Script\SetDSA2011SkinUp2.exe")
#延时4秒后关闭皮肤信息提示窗
sleep 4000
If (WndExists("当前状态"))
   Close("当前状态")
EndIf
Exit

SetDSA2011SkinUp2.mscr:
# 调用表示DSA2011皮肤信息脚本DSA2011SkinMessage.mscr
CallScript("\SDMMC\tools\Script\DSA2011SkinMessage.mscr")
# 循环升序设置Skin1.txt,Skin2.txt,Skin3.txt,...
# (Skin1.txt表示第一套皮肤,Skin2.txt表示第一套皮肤,...)
x=1
While (1)
If (x<>y)
  If fileExists ("\SDMMC\DSA2011\Skin"&x&".txt")
    Rename("\SDMMC\DSA2011\Skin"&x&".txt","\SDMMC\DSA2011\Skin"&x+1&".txt" ,true)
    Rename("\SDMMC\DSA2011\RES_800x480",("\SDMMC\DSA2011\RES_800x480_"&x),true)
    Rename("\SDMMC\DSA2011\RES_800x480_"&x+1,"\SDMMC\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin"&x+1&":"&s[x+1]),"当前状态")
    exit
  Endif
else
    Rename(("\SDMMC\DSA2011\skin"&y&".txt"),"\SDMMC\DSA2011\skin1.txt",true)
    Rename("\SDMMC\DSA2011\RES_800x480",("\SDMMC\DSA2011\RES_800x480_"&y),true)
    Rename("\SDMMC\DSA2011\RES_800x480_1","\SDMMC\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin1"&":"&s[1]),"当前状态")
    exit
Endif
x=x+1
EndWhile
exit

⑵降序换肤SetDSA2011SkinDown1.mscr和SetDSA2011SkinDown2.mscr清单:
SetDSA2011SkinDown1.mscr:
# 运行SetDSA2011SkinDown2.mscr脚本对应的执行文件
RUN ("\SDMMC\tools\Script\SetDSA2011SkinDown2.exe")
#延时4秒后关闭皮肤信息提示窗
sleep 4000
If (WndExists("当前状态"))
   Close("当前状态")
EndIf
Exit
SetDSA2011SkinDown2.mscr:
# 调用表示DSA2011皮肤信息脚本DSA2011SkinMessage.mscr
CallScript("\SDMMC\tools\Script\DSA2011SkinMessage.mscr")
# 循环降序设置...,Skin3.txt,Skin2.txt,Skin1.txt
x=0
While (1)
If ((x+y)<>1)
  If fileExists ("\SDMMC\DSA2011\Skin"&x+y&".txt")
    Rename("\SDMMC\DSA2011\Skin"&x+y&".txt","\SDMMC\DSA2011\Skin"&x+y-1&".txt" ,true)
    Rename("\SDMMC\DSA2011\RES_800x480",("\SDMMC\DSA2011\RES_800x480_"&x+y),true)
    Rename("\SDMMC\DSA2011\RES_800x480_"&x+y-1,"\SDMMC\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin"&x+y-1&":"&s[x+y-1]),"当前状态")
    exit
  Endif
else
    Rename(("\SDMMC\DSA2011\skin"&x+y&".txt"),"\SDMMC\DSA2011\skin"&y&".txt",true)
    Rename("\SDMMC\DSA2011\RES_800x480",("\SDMMC\DSA2011\RES_800x480_"&x+y),true)
    Rename("\SDMMC\DSA2011\RES_800x480_"&y,"\SDMMC\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin"&y&":"&s[y]),"当前状态")
    exit
Endif
x=x-1
EndWhile
exit

⑶显示当前皮肤PrintDSA2011Skin1.mscr和PrintDSA2011Skin2.mscr清单:
PrintDSA2011Skin1.mscr:
#运行PrintDSA2011Skin2.mscr脚本对应的执行文件
RUN ("\SDMMC\tools\Script\PrintDSA2011Skin2.exe")
#延时4秒后关闭皮肤信息提示窗
sleep 4000
If (WndExists("当前状态"))
   Close("当前状态")
EndIf
Exit
PrintDSA2011Skin2.mscr:
# 调用表示DSA2011皮肤信息脚本DSA2011SkinMessage.mscr
CallScript("\SDMMC\tools\Script\DSA2011SkinMessage.mscr")
# 循环检测当前皮肤编号并显示相关信息
x=1
While (x<=y)
  If fileExists ("\SDMMC\DSA2011\Skin"&x&".txt")
    Message(("   DSA2011皮肤设为Skin"&x&":"&s[x]),"当前状态")
    exit
  Endif
x=x+1
EndWhile
exit

⑷皮肤数量与名称信息DSA2011SkinMessage.mscr清单:
DSA2011SkinMessage.mscr:
#如下变量y表示皮肤总套数,根据实际设置。
y=3
#如下数组s[n] (n=1,2,3,...)是DSA2011皮肤名称信息,请按实际输入。
s[1]="善领官方发布正式版(左方向——右预警)完全显示版 !"
s[2]="机友DIY官方正式版(左预警——右方向)完全显示版 !"
s[3]="F版主速度白色数码方向罗盘中文完全显示版(白天)!"

       5、特别说明
⑴脚本采用通用语句编写,增加皮肤数量极为方便,先将皮肤资源拷入DSA2011按规则重命名,再修改DSA2011SkinMessage.mscr中y=语句和s[n]语句即可;
⑵DSA2011每个资源文件允许包含白天和夜间两种皮肤,但只含白天皮肤更换更方便;
⑶本脚本是实用脚本不是通用脚本,对不同的GPS可能需要用户自行修改和折腾,但愿换肤脚本对您有用或给您启发,更愿各位GY在折腾中得到快乐,享受快乐!记得回帖与我分享快乐哦。
    附一机多图和换肤效果图:







附件下载: DSA2011一键换肤实用脚本.rar (1.38 MB)

[ 本帖最后由 tanghx 于 2011-5-14 00:08 编辑 ]
本帖最近评分记录
  • furun 威望 +10 我很赞同 2011-5-13 14:51
  • leon 威望 +10 原创内容 2011-5-12 09:16

引用 使用道具 报告 回复 TOP

新款电子狗善领GT701至尊版特价促销,有效减少罚单!-- tanghx

小面司机

  • 发短消息
  • 加为好友
  • 当前离线
2# 发表于 2011-5-12 01:22  只看该作者      DSA2011一键换肤通用脚本
   善领DSA2011版发布后,版本不断升级,尤其是皮肤开放性,给GY很大的方便,精美皮肤不断涌现。但每次更换皮肤都必须手工操作,显得很不方便。能否实现多幅皮肤共存一键换肤呢?下面提供的脚本程序就可以实现一键换肤。为方便GY使用与修改,特作说明如下:

    1、默认环境
⑴卡名SDMMC、原始端口为2、波特率为4800、虚拟端口3;
[测试环境:5吋迪瑞特一体机(WinCE 6.0 Com2 4800)、KLD(C1867-C7304-2431W08)、CJT黄金版(6020-5628-1386)]
⑵卡根目录已安装有一机多图(MobileNavigator)、凯立德(KLD800)、城际通(CJT)、常用工具(Tools),而善领导航预警系统(DSA2011)则安装在SDMMC\tools\Script\DSA2011目录中;
环境与上述不相同时,需按后面的说明进行修改。

    2、安装说明
⑴将附件解压后存入卡根目录(如SDMMC\),再用纯文本编辑软件将\MobileNavigator\Menu\Navi\Navi.ini文件中的所有卡名SDMMC改为自己的卡名(共九处);
⑵将DSA2011_P52版(附件不提供,请另行下载)全部文件考入SDMMC\tools\Script\DSA2011目录中,再将多套皮肤资源文件(RES_800x480文件夹)以RES_800x480_2,RES_800x480_3,...拷入DSA2011目录中,在DSA2011中建立一个空文档Skin1.txt(附件已有此文件) ;
⑶将SDMMC\tools\Script\DSA2011SkinMessage.mscr中“y=...”改为实际皮肤总套数,再将各套皮肤的名称信息录入到s[1],s[2],...;
⑷根据需要修改导航软件的配置文件和建立调用导航软件的脚本文件(本文不提供,根据需要修改和建立);
⑸修改开机启动文件的路径或设好一机多图入口,使一机多图(SDMMC\MobileNavigator\MobileNavigator.exe)成为启动文件。

    3、脚本功能
⑴提供升序换肤和降序换肤功能,显示换肤序号和名称信息,实现运行DSA2011前一键换肤;
⑵提供显示当前皮肤功能。
       4、脚本清单
(附件中的所有*.mscr文件,修改时请用纯文本编辑软件)
⑴升序换肤SetDSA2011SkinUp1.mscr和SetDSA2011SkinUp2.mscr清单:
SetDSA2011SkinUp1.mscr:
# 运行SetDSA2011SkinUp2.mscr脚本对应的执行文件
RUN (SystemPath("ScriptExe")&"\SetDSA2011SkinUp2.exe")
#延时4秒后关闭皮肤信息提示窗
sleep 4000
If (WndExists("当前状态"))
   Close("当前状态")
EndIf
Exit
SetDSA2011SkinUp2.mscr:
# 调用表示DSA2011皮肤信息脚本DSA2011SkinMessage.mscr
CallScript(SystemPath("ScriptExe")&"\DSA2011SkinMessage.mscr")
# 循环升序设置Skin1.txt,Skin2.txt,Skin3.txt,...
# (Skin1.txt表示第一套皮肤,Skin2.txt表示第一套皮肤,...)
x=1
While (1)
If (x<>y)
  If fileExists (SystemPath("ScriptExe")&"\DSA2011\Skin"&x&".txt")
    Rename(SystemPath("ScriptExe")&"\DSA2011\Skin"&x&".txt",SystemPath("ScriptExe")&"\DSA2011\Skin"&x+1&".txt" ,true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480",SystemPath("ScriptExe")&"\DSA2011\RES_800x480_"&x,true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480_"&x+1,SystemPath("ScriptExe")&"\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin"&x+1&":"&s[x+1]),"当前状态")
    exit
  Endif
else
    Rename(SystemPath("ScriptExe")&"\DSA2011\skin"&y&".txt",SystemPath("ScriptExe")&"\DSA2011\skin1.txt",true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480",SystemPath("ScriptExe")&"\DSA2011\RES_800x480_"&y,true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480_1",SystemPath("ScriptExe")&"\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin1"&":"&s[1]),"当前状态")
    exit
Endif
x=x+1
EndWhile
exit

⑵降序换肤SetDSA2011SkinDown1.mscr和SetDSA2011SkinDown2.mscr清单:
SetDSA2011SkinDown1.mscr:
# 运行SetDSA2011SkinDown2.mscr脚本对应的执行文件
RUN (SystemPath("ScriptExe")&"\SetDSA2011SkinDown2.exe")
#延时4秒后关闭皮肤信息提示窗
sleep 4000
If (WndExists("当前状态"))
   Close("当前状态")
EndIf
Exit
SetDSA2011SkinDown2.mscr:
# 调用表示DSA2011皮肤信息脚本DSA2011SkinMessage.mscr
CallScript(SystemPath("ScriptExe")&"\DSA2011SkinMessage.mscr")
# 循环降序设置...,Skin3.txt,Skin2.txt,Skin1.txt
x=0
While (1)
If ((x+y)<>1)
  If fileExists (SystemPath("ScriptExe")&"\DSA2011\Skin"&x+y&".txt")
    Rename(SystemPath("ScriptExe")&"\DSA2011\Skin"&x+y&".txt",SystemPath("ScriptExe")&"\DSA2011\Skin"&x+y-1&".txt" ,true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480",SystemPath("ScriptExe")&"\DSA2011\RES_800x480_"&x+y,true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480_"&x+y-1,SystemPath("ScriptExe")&"\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin"&x+y-1&":"&s[x+y-1]),"当前状态")
    exit
  Endif
else
    Rename(SystemPath("ScriptExe")&"\DSA2011\skin"&x+y&".txt",SystemPath("ScriptExe")&"\DSA2011\skin"&y&".txt",true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480",SystemPath("ScriptExe")&"\DSA2011\RES_800x480_"&x+y,true)
    Rename(SystemPath("ScriptExe")&"\DSA2011\RES_800x480_"&y,SystemPath("ScriptExe")&"\DSA2011\RES_800x480",true)
    Message(("   DSA2011皮肤设为Skin"&y&":"&s[y]),"当前状态")
    exit
Endif
x=x-1
EndWhile
exit

⑶显示当前皮肤PrintDSA2011Skin1.mscr和PrintDSA2011Skin2.mscr清单:
PrintDSA2011Skin1.mscr:
#运行PrintDSA2011Skin2.mscr脚本对应的执行文件
RUN (SystemPath("ScriptExe")&"\PrintDSA2011Skin2.exe")
#延时4秒后关闭皮肤信息提示窗
sleep 4000
If (WndExists("当前状态"))
   Close("当前状态")
EndIf
Exit
PrintDSA2011Skin2.mscr:
# 调用表示DSA2011皮肤信息脚本DSA2011SkinMessage.mscr
CallScript(SystemPath("ScriptExe")&"\DSA2011SkinMessage.mscr")
# 循环检测当前皮肤编号并显示相关信息
x=1
While (x<=y)
  If fileExists (SystemPath("ScriptExe")&"\DSA2011\Skin"&x&".txt")
    Message(("   DSA2011皮肤设为Skin"&x&":"&s[x]),"当前状态")
    exit
  Endif
x=x+1
EndWhile
exit

⑷皮肤数量与名称信息DSA2011SkinMessage.mscr清单:
DSA2011SkinMessage.mscr:
#如下变量y表示皮肤总套数,根据实际设置。
y=3
#如下数组s[n] (n=1,2,3,...)是DSA2011皮肤名称信息,请按实际输入。
s[1]="善领官方发布正式版(左方向——右预警)完全显示版 !"
s[2]="机友DIY官方正式版(左预警——右方向)完全显示版 !"
s[3]="F版主速度白色数码方向罗盘中文完全显示版(白天)!"

       5、特别说明
⑴脚本采用通用语句编写,增加皮肤数量极为方便,先将皮肤资源拷入DSA2011按规则重命名,再修改DSA2011SkinMessage.mscr中y=语句和s[n]语句即可;
⑵DSA2011每个资源文件允许包含白天和夜间两种皮肤,但只含白天皮肤更换更方便;
⑶本脚本在FURUN版主的建议后做了修改,全部使用相对路径,通用性更强,不同的GPS用户只需要将附件拷入卡根目录即可运行,但愿换肤脚本对您有用或给您启发,更愿各位GY在换肤中享受快乐!请回帖与我共分享,如有问题请跟帖提醒,以便修改更正。

附件:
DSA2011一键换肤通用脚本.rar (1.61 MB)

普清版附件:
DSA2011一键换肤通用脚本(普清).rar (1.55 MB)