巧用VB編程使XMPLAYER自動播放VCD
XingMPEG Player是軟解壓播放VCD的優秀軟件,但調入XMplayer、進入播放狀態、隱藏面板等一系列操作,需要多次點擊鼠標,較為麻煩。下面用VISUAL BASIC程序首先檢查光驅是否準備好或光驅中是否為 VCD光碟,然后利用VB模擬XingMPEG的鍵盤動作,通過短短的幾行程序,實現 VCD光盤的自動播放。
①進入VB環境,設置窗體FORM1的Visible屬性為 False,然后在窗體上建立一個驅動器列表框Drivel,亦設其Visible屬性為FALSE,以使窗體和列表框在程序調入時不被顯示出來。其它屬性均取默認值。
②雙擊窗體,編寫過程代碼
| Private Sub Form-Load() On Error GoTo finderr ′檢查光驅是否準備好或光驅中是否為VCD光碟 startline: drvnmb=Drive1ListCount cdname$=Drive1List(drvnmb-1) files$=Dir$(cdname$ & "\mpegav\*dat") If files$=""Then GoTo finderr act=Shell("C:\Program Files\Xmp layer\XMPLAYEREXE",1) ′假定Xmplayer位于該目錄,打開并使之獲得焦點 SendKeys "%(fv)",True ′模擬Ctrl+fv鍵盤動作,開始播放VCD PauseTime=2 ′一些VCD光碟因制作不規范,播放前會提 示有一些錯誤,為對這些錯誤作出處理,所以暫停若干秒,此暫停是在后臺進行,不影響正 常 VCD連續播放 start=Timer Do While Timer<start+PauseTime Loop SendKeys"{enter},^s,^p,^{f4},%{esc},^4",True ′模擬其它鍵盤動作,滿屏播放,隱藏面板等 End finderr: msg$="光驅未準備好,或光驅中非VCD光盤,將光驅準備好," msg$=msg$ & "或換一張光盤,然后回車重試,或按取消退出" er=MsgBox(msg$,53,"出錯提示") If er=4 Then Resume startline Else En ′由用戶選擇重試或退出 End Sub |
③將上述程序編譯成EXE文件,然后將其快捷方式拖至桌面,雙擊該圖標,即可裝入Xing
MPEG Player并自動開始滿屏播放VCD,同時置PLAYER面板于Standard Bar狀態,并將之隱藏。
程序中^表示Ctrl,%表示Alt,之所以程序中要連續插入暫停“^S”和播放“^P”兩個動作,是因為20版本的VCD在按Alt+FV后即開始播放, 10版本在按Alt+FV后還要求按Ctrl+P,而Ctrl+P在播放狀態下又等價于Ctrl+S(即暫停),所以如果只有一個“^P”則使VCD10開始播放而VCD20暫停,為了兼顧兩種版本的VCD,首先模擬Ctrl+S動作實現暫停,然后再模擬 Ctrl+P開始播放,從而使兩種版本的 VCD在執行本程序后都能實現自動播放。
上述程序在PWIN95、VISUAL BASIC 40和XingMPEG PLAYER 32環境中調試通過。