UDF > WinAPIEx > Files & Devices > Files >


_WinAPI_FindNextFileName

Obtient le lien suivant dans une �num�ration de liens en dur

#include <WinAPIFiles.au3>
_WinAPI_FindNextFileName ( $hSearch, ByRef $sLink )

Param�tres

$hSearch Le handle de l'�num�ration qui est retourn� par un appel r�ussi � la fonction _WinAPI_FindFirstFileName().
$sLink Retourne le nom du lien suivant qui a �t� 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

Si la fonction �choue, car plus aucun des liens ne correspond au crit�re de recherche, @extended contiendra le code d'erreur syst�me ERROR_HANDLE_EOF(38).

Cette fonction n�cessite Windows Vista ou une version ult�rieure.

En relation

_WinAPI_FindFirstFileName

Voir aussi

Consultez FindNextFileNameW dans la librairie MSDN.

Exemple

#include <MsgBoxConstants.au3>
#include <WinAPIError.au3>
#include <WinAPIFiles.au3>
#include <WinAPIShPath.au3>

Local $sFile = @DesktopDir & '\@' & StringRegExpReplace(_WinAPI_PathFindFileName(@ScriptName), '\A_+', '')

; Cr�e un lien en dur vers le fichier courant avec le pr�fixe "@" sur votre bureau
If Not _WinAPI_CreateHardLink($sFile, @ScriptFullPath) Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Impossible de cr�er un lien en dur.')
    Exit
EndIf

; �num�re tous les liens en dur vers le fichier

Local $sLink
Local $hSearch = _WinAPI_FindFirstFileName($sFile, $sLink)
While Not @error
    ConsoleWrite( _WinAPI_PathAppend(_WinAPI_PathStripToRoot($sFile), $sLink) & @CRLF)
    _WinAPI_FindNextFileName($hSearch, $sLink)
WEnd

Switch @extended
    Case 38 ; ERROR_HANDLE_EOF

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

FileDelete($sFile)