جواب سوال اولیت دومی رو من زیاد بلد نیستم .
Const MAX_PATH = 260
Const MAXDWORD = &HFFFF
Const INVALID_HANDLE_VALUE = -1
Const FILE_ATTRIBUTE_ARCHIVE = &H20
Const FILE_ATTRIBUTE_DIRECTORY = &H10
Const FILE_ATTRIBUTE_HIDDEN = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Const FILE_ATTRIBUTE_READONLY = &H1
Const FILE_ATTRIBUTE_SYSTEM = &H4
Const FILE_ATTRIBUTE_TEMPORARY = &H100
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Sub cmdSearch_Click()
If txtPas.Text <> "" Then
lstResult.Clear
FileSearch txtDrive, txtPas
End If
End Sub
Private Sub FileSearch(PathName As String, FileName As String)
Dim Rec As WIN32_FIND_DATA
Dim Path As String
Dim hResult As Long
Path = PathName
hResult = FindFirstFile(Path + FileName, Rec)
If hResult <> INVALID_HANDLE_VALUE Then
Do
lstResult.AddItem Path + Rec.cFileName
Loop Until FindNextFile(hResult, Rec) = False
FindClose (hResult)
End If
End Sub