Modification de l’heure d’un fichier à l’heure actuelle

L’exemple suivant définit l’heure de dernière écriture d’un fichier à l’heure système actuelle à l’aide de la fonction SetFileTime .

Le système de fichiers NTFS stocke les valeurs d’heure au format UTC. elles ne sont donc pas affectées par les modifications apportées au fuseau horaire ou à l’heure d’été. Le système de fichiers FAT stocke les valeurs d’heure en fonction de l’heure locale de l’ordinateur.

Le fichier doit être ouvert avec la fonction CreateFile à l’aide des attributs d’écriture de fichier _ _ .

#include <windows.h>

// SetFileToCurrentTime - sets last write time to current system time
// Return value - TRUE if successful, FALSE otherwise
// hFile  - must be a valid file handle

BOOL SetFileToCurrentTime(HANDLE hFile)
{
    FILETIME ft;
    SYSTEMTIME st;
    BOOL f;

    GetSystemTime(&st);              // Gets the current system time
    SystemTimeToFileTime(&st, &ft);  // Converts the current system time to file time format
    f = SetFileTime(hFile,           // Sets last-write time of the file 
        (LPFILETIME) NULL,           // to the converted current system time 
        (LPFILETIME) NULL, 
        &ft);    

    return f;
}