DSA2011一鍵換膚通用腳本
善領DSA2011版發(fā)布后,版本不斷升級,尤其是皮膚開放性,給GY很大的方便,精美皮膚不斷涌現(xiàn)。但每次更換皮膚都必須手工操作,顯得很不方便。能否實現(xiàn)多幅皮膚共存一鍵換膚呢?下面提供的腳本程序就可以實現(xiàn)一鍵換膚。為方便GY使用與修改,特作說明如下:
1、默認環(huán)境
⑴卡名SDMMC、原始端口為2、波特率為4800、虛擬端口3;
[測試環(huán)境:5吋迪瑞特一體機(WinCE 6.0 Com2 4800)、KLD(C1867-C7304-2431W08)、CJT黃金版(6020-5628-1386)]
⑵卡根目錄已安裝有一機多圖(MobileNavigator)、凱立德(KLD800)、城際通(CJT)、常用工具(Tools),而善領導航預警系統(tǒng)(DSA2011)則安裝在SDMMC\tools\Script\DSA2011目錄中;
環(huán)境與上述不相同時,需按后面的說明進行修改。
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=...”改為實際皮膚總套數(shù),再將各套皮膚的名稱信息錄入到s[1],s[2],...;
⑷根據需要修改導航軟件的配置文件和建立調用導航軟件的腳本文件(本文不提供,根據需要修改和建立);
⑸修改開機啟動文件的路徑或設好一機多圖入口,使一機多圖(SDMMC\MobileNavigator\MobileNavigator.exe)成為啟動文件。
3、腳本功能
⑴提供升序換膚和降序換膚功能,顯示換膚序號和名稱信息,實現(xiàn)運行DSA2011前一鍵換膚;
⑵提供顯示當前皮膚功能。
4、腳本清單
(附件中的所有*.mscr文件,修改時請用純文本編輯軟件)
⑴升序換膚SetDSA2011SkinUp1.mscr和SetDSA2011SkinUp2.mscr清單:
SetDSA2011SkinUp1.mscr:
# 運行SetDSA2011SkinUp2.mscr腳本對應的執(zhí)行文件
RUN (SystemPath("ScriptExe")&"\SetDSA2011SkinUp2.exe")
#延時4秒后關閉皮膚信息提示窗
sleep 4000
If (WndExists("當前狀態(tài)"))
Close("當前狀態(tài)")
EndIf
Exit
SetDSA2011SkinUp2.mscr:
# 調用表示DSA2011皮膚信息腳本DSA2011SkinMessage.mscr
CallScript(SystemPath("ScriptExe")&"\DSA2011SkinMessage.mscr")
# 循環(huán)升序設置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]),"當前狀態(tài)")
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]),"當前狀態(tài)")
exit
Endif
x=x+1
EndWhile
exit
⑵降序換膚SetDSA2011SkinDown1.mscr和SetDSA2011SkinDown2.mscr清單:
SetDSA2011SkinDown1.mscr:
# 運行SetDSA2011SkinDown2.mscr腳本對應的執(zhí)行文件
RUN (SystemPath("ScriptExe")&"\SetDSA2011SkinDown2.exe")
#延時4秒后關閉皮膚信息提示窗
sleep 4000
If (WndExists("當前狀態(tài)"))
Close("當前狀態(tài)")
EndIf
Exit
SetDSA2011SkinDown2.mscr:
# 調用表示DSA2011皮膚信息腳本DSA2011SkinMessage.mscr
CallScript(SystemPath("ScriptExe")&"\DSA2011SkinMessage.mscr")
# 循環(huán)降序設置...,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]),"當前狀態(tài)")
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]),"當前狀態(tài)")
exit
Endif
x=x-1
EndWhile
exit
⑶顯示當前皮膚PrintDSA2011Skin1.mscr和PrintDSA2011Skin2.mscr清單:
PrintDSA2011Skin1.mscr:
#運行PrintDSA2011Skin2.mscr腳本對應的執(zhí)行文件
RUN (SystemPath("ScriptExe")&"\PrintDSA2011Skin2.exe")
#延時4秒后關閉皮膚信息提示窗
sleep 4000
If (WndExists("當前狀態(tài)"))
Close("當前狀態(tài)")
EndIf
Exit
PrintDSA2011Skin2.mscr:
# 調用表示DSA2011皮膚信息腳本DSA2011SkinMessage.mscr
CallScript(SystemPath("ScriptExe")&"\DSA2011SkinMessage.mscr")
# 循環(huán)檢測當前皮膚編號并顯示相關信息
x=1
While (x<=y)
If fileExists (SystemPath("ScriptExe")&"\DSA2011\Skin"&x&".txt")
Message((" DSA2011皮膚設為Skin"&x&":"&s[x]),"當前狀態(tài)")
exit
Endif
x=x+1
EndWhile
exit
⑷皮膚數(shù)量與名稱信息DSA2011SkinMessage.mscr清單:
DSA2011SkinMessage.mscr:
#如下變量y表示皮膚總套數(shù),根據實際設置。
y=3
#如下數(shù)組s[n] (n=1,2,3,...)是DSA2011皮膚名稱信息,請按實際輸入。
s[1]="善領官方發(fā)布正式版(左方向——右預警)完全顯示版 !"
s[2]="機友DIY官方正式版(左預警——右方向)完全顯示版 !"
s[3]="F版主速度白色數(shù)碼方向羅盤中文完全顯示版(白天)!"
5、特別說明
⑴腳本采用通用語句編寫,增加皮膚數(shù)量極為方便,先將皮膚資源拷入DSA2011按規(guī)則重命名,再修改DSA2011SkinMessage.mscr中y=語句和s[n]語句即可;
⑵DSA2011每個資源文件允許包含白天和夜間兩種皮膚,但只含白天皮膚更換更方便;
⑶本腳本在FURUN版主的建議后做了修改,全部使用相對路徑,通用性更強,不同的GPS用戶只需要將附件拷入卡根目錄即可運行,但愿換膚腳本對您有用或給您啟發(fā),更愿各位GY在換膚中享受快樂!請回帖與我共分享,如有問題請跟帖提醒,以便修改更正。
附件:
DSA2011一鍵換膚通用腳本.rar (1.61 MB)
普清版附件:
DSA2011一鍵換膚通用腳本(普清).rar (1.55 MB)