UDF > Date >


_Date_Time_GetFileTime

Obtient les dates/heures de cr�ation, d'acc�s et de modification d'un fichier

#include <Date.au3>
_Date_Time_GetFileTime ( $hFile )

Param�tre

$hFile Handle vers le fichier o� les dates/heures seront r�cup�r�s. Le handle de fichier doit avoir �t� cr�� � l'aide de la fonction CreateFile avec le droit d'acc�s GENERIC_READ.

Valeur de retour

Retourne un tableau (array) au format suivant :
    [0] - structure $tagFILETIME contenant la date et l'heure de cr�ation du fichier
    [1] - structure $tagFILETIME contenant la date et l'heure du dernier acc�s du fichier
    [2] - structure $tagFILETIME contenant la date et l'heure de modification du fichier

Remarques

Les dates de cr�ation et du dernier acc�s ne peuvent �tre enregistr�es sur tous les syst�mes de fichiers et l'enregistrement de celles-ci peut ne pas se faire de la m�me mani�re.
Par exemple, en FAT, la date de cr�ation a une pr�cision de 10 millisecondes, la date de modification a une pr�cision de 2 secondes, et la date du dernier acc�s a une pr�cision de 1 jour (c'est bien �a, la date du dernier acc�s). Par cons�quent, la fonction _Date_Time_GetFileTime() peut ne pas retourner les m�mes informations d'horodatage du fichier pr�alablement d�finies � l'aide de _Date_Time_SetFileTime().
Les d�lais du syst�me de fichiers NTFS mettent � jour le dernier temps d'acc�s pour un fichier par l'ajout d'une heure apr�s le dernier acc�s.

En relation

$tagFILETIME, _Date_Time_SetFileTime

Exemple

#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIError.au3>
#include <WinAPIFiles.au3>
#include <WinAPIHObj.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hFile, $tFile, $aTime
    Local $sTempFile = @TempDir & "\Test.xyz"

    ; Cr�e la GUI
    GUICreate("Temps", 400, 300)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Cr�er un fichier de test et d�finit les dates du fichier
    $hFile = _WinAPI_CreateFile($sTempFile, 1)
    If $hFile = 0 Then _WinAPI_ShowError("Impossible de cr�er le fichier")
    $tFile = _Date_Time_EncodeFileTime(@MON, @MDAY, @YEAR, @HOUR, @MIN, @SEC)
    _Date_Time_SetFileTime($hFile, $tFile, $tFile, $tFile)
    _WinAPI_CloseHandle($hFile)

    ; Lit les dates du fichier
    $hFile = _WinAPI_CreateFile($sTempFile, 2)
    If $hFile = 0 Then _WinAPI_ShowError("Impossible d'ouvrir le fichier")
    $aTime = _Date_Time_GetFileTime($hFile)
    _WinAPI_CloseHandle($hFile)

    MemoWrite("Cr�� . : " & _Date_Time_FileTimeToStr($aTime[0]))
    MemoWrite("Acc�d� . : " & _Date_Time_FileTimeToStr($aTime[1]))
    MemoWrite("Modifi� . : " & _Date_Time_FileTimeToStr($aTime[2]))

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    FileDelete($sTempFile)
EndFunc   ;==>Example

; �crit une ligne dans le contr�le m�mo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite