UDF > WinAPIEx > Files & Devices > Files >


_WinAPI_FindNextFile

Obtient le fichier suivant dans une recherche de fichier ou de répertoire

#include <WinAPIFiles.au3>
_WinAPI_FindNextFile ( $hSearch, $tData )

Paramètres

$hSearch Le handle de recherche retourné par un appel précédent à la fonction _WinAPI_FindFirstFile().
$tData Une structure $tagWIN32_FIND_DATA, ou un pointeur sur une telle structure, qui reçoit des informations sur un fichier ou un répertoire trouvé.

Valeur de retour

Succès: Retourne True.
Échec: Retourne False et définit @error <> 0, @extended peut contenir le code d'erreur du système.

Remarques

L'ordre dans lequel la recherche retourne les fichiers, tel que l'ordre alphabétique, n'est pas garantie.
Si les données doivent être triées, l'application doit ordonner les données après l'obtention des résultats.

Si la fonction échoue car aucun fichier ne correspond plus au critère, @extended contiendra le code d'erreur du système ERROR_NO_MORE_FILES (18).

En relation

_WinAPI_FindFirstFile

Voir aussi

Consultez FindNextFile dans la librairie MSDN.

Exemple idem que _WinAPI_FindFirstFile

#include <Array.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIConv.au3>
#include <WinAPIError.au3>
#include <WinAPIFiles.au3>

Local $aList[101][2] = [[0]]

Local $tData = DllStructCreate($tagWIN32_FIND_DATA)

Local $sFile
Local $hSearch = _WinAPI_FindFirstFile(@ScriptDir & '\*', $tData)
While Not @error
    $sFile = DllStructGetData($tData, 'cFileName')
    Switch $sFile
        Case '.', '..'

        Case Else
            If Not BitAND(DllStructGetData($tData, 'dwFileAttributes'), $FILE_ATTRIBUTE_DIRECTORY) Then
                $aList[0][0] += 1
                If $aList[0][0] > UBound($aList) - 1 Then
                    ReDim $aList[UBound($aList) + 100][2]
                EndIf
                $aList[$aList[0][0]][0] = $sFile
                $aList[$aList[0][0]][1] = _WinAPI_MakeQWord(DllStructGetData($tData, 'nFileSizeLow'), DllStructGetData($tData, 'nFileSizeHigh'))
            EndIf
    EndSwitch
    _WinAPI_FindNextFile($hSearch, $pData)
WEnd

Switch @extended
    Case 18 ; ERROR_NO_MORE_FILES

    Case Else
        MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), @extended, _WinAPI_GetErrorMessage(@extended))
        Exit
EndSwitch

_WinAPI_FindClose($hSearch)

_ArrayDisplay($aList, '_WinAPI_Find...', $aList[0][0])