最好具体一点,小弟菜鸟也!!":'参数说明:' strPathName 要遍历的目录' objList 使用VB的内部控件ListBox来存放遍历得到的路径,之所以' 不使用字符串数组是因为数组大小不好定义''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Public Sub sDirTraversal(ByVal strPathName As String, ByRef objList As ListBox)  Dim sSubDir(200) As String '存放当前目录下的子目录,下标可根据需要调整  Dim iIndex As Integer '子目录数组下标  Dim i As Integer '用于循环子目录的查找  Dim lHandle As Long 'FindFirstFileA 的句柄  Dim tFindData As WIN32_FIND_DATA '  Dim strFileName As String '文件名  On Error Resume Next  '初始化变量  i = 1  iIndex = 0  tFindData.cFileName = "" '初始化定长字符串  lHandle = FindFirstFile(strPathName & "\*.*", tFindData)  If lHandle = 0 Then '查询结束或发生错误Exit SubEnd IfstrFileName = fDelInvaildChr(tFindData.cFileName)If tFindData.dwFileAttributes = &H10 Then '目录  If strFileName <> "." And strFileName <> ".." Then    iIndex = iIndex + 1    sSubDir(iIndex) = strPathName & "\" & strFileName '添加到目录数组  End IfElse  objList.AddItem strPathName & "\" & strFileNameEnd If'循环查找下一个文件,直到结束Do While True  tFindData.cFileName = ""  If FindNextFile(lHandle, tFindData) = 0 Then '查询结束或发生错误    FindClose (lHandle)    Exit Do  Else    strFileName = fDelInvaildChr(tFindData.cFileName)    If tFindData.dwFileAttributes = &H10 Then      If strFileName <> "." And strFileName <> ".." Then        iIndex = iIndex + 1        sSubDir(iIndex) = strPathName & "\" & strFileName '添加到目录数组      End If    Else      objList.AddItem strPathName & "\" & strFileName    End If  End IfLoop  '如果该目录下有目录,则根据目录数组递归遍历  If iIndex > 0 Then    For i = 1 To iIndex      sDirTraversal sSubDir(i), objList    Next  End IfEnd Sub