我在用FindFirstFile后,调用FindNextFile来循环查找所有文件,但是怎么才能知道文件已经查询完了,即用什么条件控制循环结束,谢谢

解决方案 »

  1.   

    FindNextFile VB声明 
    Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long 
    说明 
    根据调用FindFirstFile函数时指定的一个文件名查找下一个文件 
    返回值 
    Long,非零表示成功,零表示失败。
    如不再有与指定条件相符的文件,会将GetLastError设置成ERROR_NO_MORE_FILES 
    参数表 
    参数 类型及说明 
    hFindFile Long,由FindFirstFile函数返回的搜索句柄 
    lpFindFileData WIN32_FIND_DATA,这个结构用于装载与找到的文件有关的信息 
      

  2.   

    给一小段提示代码:    hSearch = FindFirstFile(path & SearchStr, WFD)
        Cont = True
        If hSearch <> INVALID_HANDLE_VALUE Then
            While Cont
                FileName = StripNulls(WFD.cFileName)
                If (FileName <> ".") And (FileName <> "..") And InStr(FileName, ".") Then
                    FindFilesAPI = FindFilesAPI + (WFD.nFileSizeHigh * MAXDWORD) + WFD.nFileSizeLow
                    FileCount = FileCount + 1
                    List1.AddItem path & FileName
                End If
                Cont = FindNextFile(hSearch, WFD) ' Get next file
                DoEvents
            Wend
            Cont = FindClose(hSearch)
        End If