用VB自动播放VCD 2001年 38期 当我们在用软件或影碟机播放VCD时,只要把VCD碟片放入驱动器内,系统就会自动播放,真是方便至极。   其实在VB中我们也可以实现同样的功能,其思路和过程为,VCD的影像文件都在光盘的MPEGAV目录下,文件名一般有两种:avseq01.dat或music01.dat。我们要做的工作就是一旦光驱关闭,便开始检测这两个文件的存在与否,如果存在就将其打开,从而实现了自动播放功能,真的很简单。   说干就干,新建一工程,在窗体(Form1)中加入一个Windows Media Player控件(也可用其他多媒体控件)和一个定时器控件,在Windows Media Player控件属性对话框中将AutoStart设置为True。然后启动菜单编辑器,创建“控制”菜单,并建立“弹出光驱”、“关闭光驱”和“退出”三个子菜单,如图所示(^38020502a^)。   以下程序在“Windows 98SE+VB 6.0”下调试通过,其源代码如下:   在声明中添加:   Option Explicit   Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long   Dim result As Integer   Dim ReturnString As String * 128   Private Sub Form_Load()   Form1.Caption = "示例"   Timer1.Enabled = True   Timer1.Interval = 1000   End Sub   Private Sub MnuControlClose_Click() '关闭光驱   On Error Resume Next   result = mciSendString("set cdaudio door closed", ReturnString, 127, 0)   Timer1.Interval = 1000   Timer1.Enabled = True   End Sub   Private Sub MnuControlOpen_Click() '弹出光驱   On Error Resume Next   MediaPlayer1.Stop   MediaPlayer1.FileName = ""   Form1.Caption = "示例"   result = mciSendString("set cdaudio door open", ReturnString, 127, 0)   End Sub   Private Sub MnuControlQuit_Click()   Unload Form1   End Sub   Private Sub Timer1_Timer()   Dim fs, d, dc, sFile1, sFile2   Set fs = CreateObject("Scripting.FileSystemObject")   Set dc = fs.Drives   For Each d In dc '查找所有驱动器   If d.DriveType = 4 Then '如果为光驱   sFile1 = d.driveletter + ":\mpegav\avseq01.dat"   sFile2 = d.driveletter + ":\mpegav\music01.dat"   If d.Isready And fs.FileExists(sFile1) Then '判断光驱是否准备好,文件是否存在   Timer1.Enabled = False   Form1.Caption = "示例 - " + sFile1   MediaPlayer1.FileName = sFile1   MediaPlayer1.Play   End If   If d.Isready And fs.FileExists(sFile2) Then   Timer1.Enabled = False   Form1.Caption = "示例 - " + sFile2   MediaPlayer1.FileName = sFile2   MediaPlayer1.Play   End If   End If   Next   End Sub   赶快按下F5键运行一下,只要用菜单控制光驱的弹出与关闭,就能实现自动播放的功能了。需要说明的是,由于系统和控件的限制,该示例尚不能播放一些DVCD片。对控件进一步开发,将其变成真正的超级播放器,那可就是你的工作了。