shell打开指定文件的问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 03:33:55
下面的方法可行:
Dim RetVal
RetVal = Shell( "E:\XXXX.exe F:\XXX.mp3 ", 1)
但是下面的方法就不行了:
Dim RetVal
Dim OpenPath As String
OpenPath = Dir1.Path + " \ " + XXX.mp3
RetVal=Shell( "E:\XXXX.exe " & space(1) & OpenPath,1)
出错误窗口:
无法打开文件。文件不存在或格式不被支持
用了变量就不行了吗?哪位有办法使用变量也可以shell呢?
我的意思是:用E:\XXXX.exe打开openpath制定的文件。
源程序是:OpenPath = Dir1.Path & " \ " & List2.Text
List2.Text是一个XXXXX.mp3文件名

xxx.mp3是在根目录下的吧?
VB6有个现象就是dir.path在一般子目录下后面不带"\",要手工加"\",而在根目录下是带"\",比如返回"F:\",再加"\"就变成"F:\\"接着就报文件不存在了。

我用一个全局函数,凡是要用到的都处理一下。
Public Function StdDir(sInputPath As String) As String
If Right(sInputPath, 1) <> "\" Then
StdDir = sInputPath & "\"
Else
StdDir = sInputPath
End If
End Function

然后OpenPath = StrDir(Dir1.Path) + "XXX.mp3"

在.net下面"\"该用Path.PathSeparator代替,可以解决日文系统等用"¥"作分隔符的。而Path类有专门的方法可以组合路径而不用考虑加不加"\"

1.OpenPath = Dir1.Path + " \ " + XXX.mp3 这行应该是:
OpenPath = Dir1.Path + "\XXX.mp3"

2.RetVal=Shell( "E:\XXXX.exe " & space(1) & OpenPath,1) 可写成:
RetVal=Shell( "E:\XXXX.exe " & OpenPath,1)

Shell( "E:\XXXX.exe " &