Crée une énumération de tous les liens en dur vers le fichier spécifié
#include <WinAPIFiles.au3>
_WinAPI_FindFirstFileName ( $sFilePath, ByRef $sLink )
$sFilePath | Le nom du fichier. |
$sLink | Retourne le nom du premier lien trouvé pour le fichier spécifié. |
Succès: | Retourne le handle de recherche. |
Échec: | Retourne 0 et définit @error <> 0, @extended peut contenir le code d'erreur du système. |
Après que le handle de recherche ait été obtenu, vous pouvez l'utiliser dans la fonction _WinAPI_FindNextFileName() pour rechercher d'autres liens en dur vers le fichier spécifié.
Lorsque le handle de la recherche n'est plus nécessaire, il doit être fermé à l'aide de la fonction _WinAPI_FindClose().
Cette fonction nécessite Windows Vista ou une version ultérieure.
_WinAPI_FindClose, _WinAPI_FindNextFileName
Consultez FindFirstFileNameW dans la librairie MSDN.
#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)