Private Sub Command1_Click()
If Len(Combo1.Text) = 0 Then
MsgBox "请输入搜索的文件名,可使用通配符!", vbOKOnly + vbCritical, "错误"
Exit Sub
End If
hFile = FindFirstFile(Text2 & "*.*", Fd) '第一次查找
If hFile = INVALID_HANDLE_VALUE Then Exit Sub '如果出错则退出
List1.Clear
While FindNextFile(hFile, Fd) '继续查找,为0表示查找结束
FileLen = (Fd.nFileSizeHigh * &H10000 + Fd.nFileSizeLow) / 1024
If InStr(Combo1.Text, "*") > 0 Or InStr(Combo1.Text, "?") > 0 Then '如果使用了通配符则直接用文本框内容查找
List1.AddItem Left(Fd.cFileName, InStr(Fd.cFileName, Chr(0)) - 1)
Else '否则添加符合关键词的文件名
If InStr(Fd.cFileName, Combo1.Text) > 0 Then List1.AddItem Left(Fd.cFileName, InStr(Fd.cFileName, Chr(0)) - 1)
End If
Wend
FindClose hFile '关闭搜索文件句柄
Label2.Caption = "找到文件数:" & List1.ListCount
End Sub