图5-7 调用“帮助”应用程序来打开指定的帮助文件
按照程序清单所示添加剩余的程序代码,用鼠标选择菜单“文件”中的“保存”来存储文件,然后在键盘上按下功能键F5运行程序,程序运行初始画面如图5-8所示。

图5-8 程序运行初始画面
在程序运行的过程中,用户可以随时通过用鼠标双击FileListBox控件中的文件来执行,例如,用鼠标左键双击一个文本文件,结果如图5-9所示。

图5-9 程序运行结果
附程序完整源代码如下所示:
程序清单
VERSION 6.00
Begin Visual Basic.Form File
BorderStyle = 3
Caption = "利用控件处理文件"
MaxButton = 0
MinButton = 0
Moveable = 0
StartUpPosition = 2
End
Attribute Visual Basic_Name = "File"
Attribute Visual Basic_GlobalNameSpace = False
Attribute Visual Basic_Creatable = False
Attribute Visual Basic_PredeclaredId = True
Attribute Visual Basic_Exposed = False
Private Sub Dir1_Change()
File1.Path = Dir1.Path
'设置文件显示路径
Text1.Text = Dir1.Path
'显示当前路径
Text2.Text = ""
'清空文本框
End Sub
Private Sub Drive1_Change()
On Error GoTo DriveErrs
'错误处理
Dir1.Path = Drive1.Drive
'设置目录显示路径
Exit Sub
DriveErrs:
'错误处理
Select Case Err
Case 68
MsgBox prompt:="驱动器未准备好。请在驱动器内插入磁盘。", _
buttons:=vbExclamation
'将路径重置为先前使用的驱动器。
Drive1.Drive = Dir1.Path
Exit Sub
Case Else
MsgBox prompt:="应用程序错误。", buttons:=vbExclamation
End Select
Text2.Text = ""
'清空文本框
End Sub
Private Sub File1_Click()
If Mid(File1.Path, Len(File1.Path)) = "\" Then
Text2.Text = File1.Path & File1.FileName
'如果被单击的文件在根目录,就追加文件名。
Else
Text2.Text = File1.Path & "\" & File1.FileName
'如果被单击的文件不在根目录,就追加 "\" 和文件名。
End If
End Sub
Private Sub File1_DblClick()
temp = LCase(Right$(File1.FileName, 3))
'获取被单击的文件名的最后 3 个字母。
If Mid(File1.Path, Len(File1.Path)) = "\" Then
dbclickfile = File1.Path & File1.FileName
'如果被单击的文件在根目录,就追加文件名。
Else
dbclickfile = File1.Path & "\" & File1.FileName
'如果被单击的文件不在根目录,就追加 "\" 和文件名。
End If
Select Case UCase$(Trim$(temp))
Case "TXT"
X = Shell("Notepad " + dbclickfile, 1)
'打开文本文件
Case "BMP"
X = Shell("Pbrush " + dbclickfile, 1)
'打开图像文件
Case "EXE"
X = Shell(dbclick, 1)
'打开可执行文件
Case "HLP"
X = Shell("WinHelp " + dbclick, 1)
'打开帮助文件
Case Else
nl = Chr$(10) + Chr$(13)
msg = "试用下面的文件类型之一:"
msg = vbCrLf & msg & vbCrLf & vbCrLf & " .txt, .bmp, .exe, .hlp"
MsgBox msg
'处理其他类型文件
End Select
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
'清空文本框
Drive1.Drive = "c:"
'设置缺省驱动器
Dir1.Path = "c:\windows"
'设置缺省工作路径
End Sub
在Windows操作系统中包括一个文件查询程序,读者可以通过单击Windows“开始”菜单中的“查找”/“文件或文件夹”选项来激活这个应用程序,运行结果如图5-10所示。

图5-10 查询文件应用程序
提示:
@ 在Visual Basic 6.0中,我们也可以制作一个类似的文件查找程序,它是文件处理的关键技术之一。
下面就通过一个示例程序向读者说明,在Visual Basic 6.0中如何通过文件类控件和函数来制作一个文件查找程序,它可以在由用户指定的路径下查找指定的文件,其中还支持通配符,具体的程序设计步骤如下所示:
首先激活Visual Basic 6.0应用程序,在Visual Basic 6.0的集成开发环境中用鼠标选择菜单“文件”中的“新建工程”选项,在屏幕上就会弹出一个如图5-11所示的“新建工程”对话框。
图5-11 “新建工程”对话框
在“新建工程”对话框中选择“标准 EXE”选项,单击“确定”按钮,在Visual Basic 6.0中就新建了一个标准的工程文件,同时打开了一个空白的窗体。
窗体的属性设置如下所示:
Begin Visual Basic.Form WinSeek
BorderStyle = 3
Caption = "文件查找应用程序"
Moveable = 0
MaxButton = 0
MinButton = 0
ScaleHeight = 4620
ScaleWidth = 6915
StartUpPosition = 2
End
经过以上属性设置后的窗体具有如下所示的特性:
n 程序运行过程中,窗体位于屏幕的中央,并且用户不能够移动窗体;
n 窗体的标题栏中显示文本“文件查找应用程”;
n 窗体的标题栏中没有最大化和最小化按钮,只有关闭按钮;
n 在程序运行的过程,用户不能够改变窗体的大小。
在本示例程序中,为了实现查找文件的功能,首先要能够显示文件,所以在程序设计的过程中要向当前空白的窗体上添加一个DriveListBox控件、一个DirListBox控件和一个FileListBox控件。
它们的作用如下所示:
n DriveListBox控件:在程序运行的过程中显示用户计算机上的所有有效的驱动器,并且负责用户选择驱动器时的错误处理;
n DirListBox控件:在程序运行的过程中显示当前驱动器下的各个目录项;
n FileListBox控件:显示当前路径下的文件列表,文件显示的类型需要由用户在程序运行的过程中指定。