我想使用shell函數調用wmp.exe程序,然后在后面加要播放的文件名(文件名通過變量傳送)。該如何寫命令?
我用了shell "wmp.exe filename",1
但是不行,提示我文件沒有找到,我想應該是程序在找filename這個文件吧。求解決方法。

解决方案 »

  1.   

    shell "wmp.exe " & filename,1
      

  2.   

    回樓上,使用shell "wmp.exe " & filename,1 后,程序也會提示文件未找到。
    謝謝
      

  3.   

    你的 wmp.exe 必须在路径变量设置中,或指定绝对路径。假如 wmp.exe 放在 c:\window 目录中:
    shell "c:\window\wmp.exe " & filenameshell 只会找路径变量和当前目录中是否存在 wmp.exe ,其它地方它找不到的
      

  4.   

    需指明wmp.exe的完整路径,不知道这个wmp.exe是什么?如果是windows medea player,那么应该是类似于这样一个路径:C:\Program Files\Windows Media Player\wmplayer.exe
      

  5.   

    回樓上兩位,程序提示無法找到文件,是無法打開我需要打開的文件。
    wmp.exe是一個播放器,可以播放音頻文件,該程序可以被VB程序調用出來,但是無法打開我filename指定的文件。
    在當前目錄下有3個mp3文件,我用listbox將文件名顯示出來,當我雙擊某個文件時,vb程序調用wmp.exe播放該文件。謝謝
      

  6.   

    如果错误提示为“实时错误53,文件未找到”,那么是找不到wmp.exe这个文件的原因;
    如果是找不到mp3文件,那么是wmp.exe出错并给出错误提示,而不是VB出错。
      

  7.   

    1、wmp.exe 如果不是ms 的媒体播放机,它可能不接受命令行参数,这与编制者有关,很多程序本来就不支持命令行参数。2、如果它接受命令行参数,试着传递完整的 filename 。比如 "c:\abc\123\aa.wma",仅传一个 aa.wma 是不行的。另外,如果路径中有空格,请和 '' 括起。 
      

  8.   

    当前目录下的mp3文件,完整路径文件名应该是
    if right(app.path,1)="\" then
      filename=app.path & list1.text
    else
      filename=app.path & "\" & list1.text
    end if
      

  9.   

    Private Sub lstServer_DblClick()Dim btime, atime, temp As Integer
    Dim getfileOk As Boolean
    Dim filename As String    btime = Time
        atime = Time
        
        getfileOk = moFTP.GetFile(lstServer.Text, lstServer.Text) '下载文件
        If getfileOk = True Then
            atime = Time
        End If
        temp = DateDiff("s", btime, atime) '计算时间差
        Label3.Caption = temp    filename = lstServer.Text '指定文件名
        Shell "wmp.exe" & filename, 1 '播放文件
        
    End Sub如上程序,我从FTP服务器上下载某个文件,计算时间差,然后播放该文件。
    现在下载和计算时间差都已经完成,就差播放文件了。
      

  10.   

    我单独执行Shell "wmp.exe 1.mp3", 1 却是可以的。
    执行Shell "wmp.exe" & filename, 1 后提示“实时错误53,文件未找到”,不解
      

  11.   

    Shell "wmp.exe " & filename, 1
    别忘记加空格