Obtient, sous des formes variées, le chemin final d'un fichier donné par son handle
#include <WinAPIFiles.au3>
_WinAPI_GetFinalPathNameByHandleEx ( $hFile [, $iFlags = 0] )
$hFile | Handle du fichier ou du répertoire. |
$iFlags | [optionnel] Le type de résultat à retourner. Ce paramètre peut être combinaison d'une des valeurs $FILE_NAME_* et d'une des valeurs $VOLUME_NAME_*. $FILE_NAME_NORMALIZED $FILE_NAME_OPENED $VOLUME_NAME_DOS $VOLUME_NAME_GUID $VOLUME_NAME_NONE $VOLUME_NAME_NT |
Succès: | Retourne le chemin du fichier. |
Échec: | Définit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur. |
Cette fonction nécessite Windows Vista ou une version ultérieure.
Consultez GetFinalPathNameByHandle dans la librairie MSDN.
#include <APIFilesConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> #include <WinAPIHObj.au3> #include <WinAPISys.au3> If Number(_WinAPI_GetVersion()) < 6.0 Then MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Requiert Windows Vista ou une version ultérieure.') Exit EndIf Local $hFile = _WinAPI_CreateFile(@ScriptFullPath, 2, 0, 6) ConsoleWrite( _WinAPI_GetFinalPathNameByHandleEx($hFile) & @CRLF) ConsoleWrite( _WinAPI_GetFinalPathNameByHandleEx($hFile, $VOLUME_NAME_GUID) & @CRLF) ConsoleWrite( _WinAPI_GetFinalPathNameByHandleEx($hFile, $VOLUME_NAME_NT) & @CRLF) ConsoleWrite( _WinAPI_GetFinalPathNameByHandleEx($hFile, $VOLUME_NAME_NONE) & @CRLF) _WinAPI_CloseHandle($hFile)