D�finit la date/heure de cr�ation, d'acc�s et modification d'un fichier
#include <Date.au3>
_Date_Time_SetFileTime ( $hFile, $tCreateTime, $tLastAccess, $tLastWrite )
$hFile | Handle vers le fichier. Le handle du fichier doit avoir �t� cr�� � l'aide de la fonction CreateFile avec le droit d'acc�s FILE_WRITE_ATTRIBUTES. |
$tCreateTime | Structure $tagFILETIME qui contient les nouvelles date et heure de cr�ation du fichier. Cette valeur est 0 si l'application n'a pas besoin de d�finir cette information. |
$tLastAccess | Structure $tagFILETIME qui contient les nouvelles date et heure d'acc�s au fichier. La date de dernier acc�s inclut la date de dern�re �criture, de lecture, ou (dans le cas des fichiers ex�cutables) d'ex�cution. Cette valeur peut �tre 0 si l'application n'a pas besoin de d�finir cette information. Pour conserver l'heure du dernier acc�s existant pour un fichier, m�me apr�s avoir acc�d� � ce fichier, appelez SetFileTime avec ce param�tre d�fini � -1 avant de fermer le handle du fichier. |
$tLastWrite | Structure $tagFILETIME qui contient les nouvelles date et heure du fichier qui a �t� �crit. Cette valeur peut �tre 0 si l'application ne veut pas d�finir cette information. |
Succ�s: | Retourne True |
�chec: | Retourne False |
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.
$tagFILETIME, _Date_Time_GetFileTime
#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�ation ......: " & _Date_Time_FileTimeToStr($aTime[0])) MemoWrite("Acc�s .........: " & _Date_Time_FileTimeToStr($aTime[1])) MemoWrite("Modification ..: " & _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