Référence UDF - Traduction Google


_Date_Time_SetFileTime

Définit la date et l'heure d'un fichier a été créé, accessible et modifiable

 #include <Date.au3>
_Date_Time_SetFileTime ( $hFile, $pCreateTime, $pLastAccess, $pLastWrite )

Paramètres

$hFile Gérer le fichier. Le descripteur de fichier doit avoir été créé à l'aide de la fonction CreateFile avec le droit d'accès FILE_WRITE_ATTRIBUTES.
$pCreateTime Pointeur vers une structure de tagFILETIME de dollars qui prévoit la nouvelle date et l'heure de création du fichier.
Ce sera 0 si l'application n'a pas besoin de mettre cette information.
$pLastAccess Pointeur vers une structure de tagFILETIME de dollars qui prévoit la nouvelle date et l'heure du dernier accès au fichier.
Le dernier temps d'accès comprend la dernière fois que le fichier a été écrit, lue, ou ( dans le cas de fichiers exécutables ) terme.
Cela peut être 0 si l'application n'a pas besoin de mettre cette information.
Pour conserver l'heure du dernier accès existant depuis un fichier, même après avoir accédé à un fichier, appelez SetFileTime avec ce jeu de paramètres à -1 avant de fermer le descripteur de fichier.
$pLastWrite Pointeur vers une structure de tagFILETIME de dollars qui prévoit la nouvelle date et l'heure du fichier a été écrit à la dernière.
Cela peut être 0 si l'application ne veut pas mettre cette information.

Valeur de retour

Succès: vrai
Échec: faux

Remarque

Pas tous les systèmes de fichiers peuvent enregistrer de création et de dernière temps d'accès et tous les systèmes de fichiers les enregistrer de la même manière.
Par exemple, sur FAT, créer le temps a une résolution de 10 millisecondes, écrivez temps a une résolution de 2 secondes et le temps d'accès a une résolution de 1 jour ( vraiment, la date d'accès ). Par conséquent, l'_Date_Time_GetFileTime() function may not return the same file time information set using _Date_Time_SetFileTime() .
NTFS retarde les mises à jour à la dernière fois de l'accès à un fichier jusqu'à une heure après le dernier accès.

Liens

$tagFILETIME(), _Date_Time_GetFileTime()

Exemple

#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hFile, $tFile, $aTime

    ; Créer GUI
    GUICreate("Time", 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 de définir des heures de fichier
    $hFile = _WinAPI_CreateFile(@ScriptDir & "\Test.xyz", 1)
    If $hFile = 0 Then _WinAPI_ShowError("Unable to create file")
    $tFile = _Date_Time_EncodeFileTime(@MON, @MDAY, @YEAR, @HOUR, @MIN, @SEC)
    Local $pFile = DllStructGetPtr($tFile)
    _Date_Time_SetFileTime($hFile, $pFile, $pFile, $pFile)
    _WinAPI_CloseHandle($hFile)

    ; Lire l'heure du fichier
    $hFile = _WinAPI_CreateFile(@ScriptDir & "\Test.xyz", 2)
    If $hFile = 0 Then _WinAPI_ShowError("Unable to open file")
    $aTime = _Date_Time_GetFileTime($hFile)
    _WinAPI_CloseHandle($hFile)

    MemoWrite("Created ..: " & _Date_Time_FileTimeToStr($aTime[0]))
    MemoWrite("Accessed .: " & _Date_Time_FileTimeToStr($aTime[1]))
    MemoWrite("Modified .: " & _Date_Time_FileTimeToStr($aTime[2]))

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

    FileDelete(@ScriptDir & "\Test.xyz")
EndFunc   ;==> Example

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