用VB打开文件

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:13:14
在 Form 中有控件 File As FileListBox, Dir As DirListBox, Drive As DirveListBox ,想做个程序,使双击时自动打开程序/文件。

如果是程序,用Shell函数打开,如果是文件,检查扩展名,如果扩展名已知,则用与扩展名相关联的程序打开,否则将 File.Pattern 设为 *.com 或 *.exe 或 *.bat (三个都要)。


1. 扩展名应不受大小写影响
2.

自己写的程序部分:

Private Sub File_DblClick()
Static FileOpen As String, FileName As String, Files As Boolean
If Right(File.Path, 1) = "\" Then
FileOpen = File.Path & File.FileName
Else
FileOpen = File.Path & "\" & File.FileName
End If
If Right(FileOpen, 4) = ".com" Or Right(FileOpen, 4) = ".exe" Or Right(FileOpen, 4) = ".bat" Or Right(FileOpen, 4) = ".COM" Or Right(FileOpen, 4) = ".EXE" Or Right(FileOpen, 4) = ".BAT" Or Right(FileOpen, 4) = ".Com" Or Right(FileOpen, 4) = ".Exe" Or Right(FileOpen, 4) = ".Bat" Or Right(FileOpen, 4) = ".cOm" Or Right

你看这个可不可以,似乎符合你的要求~(有错误的话记得告诉我)

'查找与一个指定文件关联在一起的程序的文件名。
Private Declare Function FindExecutable Lib "shell32.dll" _
Alias "FindExecutableA" (ByVal lpFile As String, _
ByVal lpDirectory As String, _
ByVal lpResult As String) As Long

Private Sub File1_DblClick()
Static FileOpen As String, FileName As String, Files As Boolean
Dim Result As String
Result = Space(256)
If Right(File1.Path, 1) = "\" Then
FileOpen = File1.Path & File1.FileName
Else
FileOpen = File1.Path & "\" & File1.FileName
End If
If Files = True Then
Label1.Caption = "任务执行代码:" & Shell(FileOpen & " " & FileName)
Files = False
File1.Pattern = "*.*"
Else
If FindExecut