Réponse acceptée !
Bonjour,
GetFileTime() et SetFileTime() aussi !
Avec un handle sur un dossier (CreateFile() avec le flag FILE_FLAG_BACKUP_SEMANTICS).
Exemple :
#include <stdio.h>
#include <windows.h>
void main()
{
// --- Handle sur le dossier
HANDLE hFile = CreateFile
(
"C:\\Windows"
,GENERIC_READ | GENERIC_WRITE
,FILE_SHARE_READ | FILE_SHARE_DELETE
,0
,OPEN_EXISTING
,FILE_FLAG_BACKUP_SEMANTICS
,NULL
);
// --- Lire les horodates du dossier
FILETIME FileTimeCreate,FileTimeAccess,FileTimeModify;
GetFileTime(hFile,&FileTimeCreate,&FileTimeAccess,&FileTimeModify);
// --- Convertir en horodates système (en TU)
SYSTEMTIME SystemTimeCreate,SystemTimeAccess,SystemTimeModify;
FileTimeToSystemTime(&FileTimeCreate,&SystemTimeCreate);
FileTimeToSystemTime(&FileTimeAccess,&SystemTimeAccess);
FileTimeToSystemTime(&FileTimeModify,&SystemTimeModify);
// --- Montrer les horodates du dossier
printf("Creation : %02d/%02d/%04d - %02d:%02d:%02d\n"
,SystemTimeCreate.wDay,SystemTimeCreate.wMonth,SystemTimeCreate.wYear
,SystemTimeCreate.wHour,SystemTimeCreate.wMinute,SystemTimeCreate.wSecond);
printf("Dernier acces : %02d/%02d/%04d - %02d:%02d:%02d\n"
,SystemTimeAccess.wDay,SystemTimeAccess.wMonth,SystemTimeAccess.wYear
,SystemTimeAccess.wHour,SystemTimeAccess.wMinute,SystemTimeAccess.wSecond);
printf("Derniere modification : %02d/%02d/%04d - %02d:%02d:%02d\n"
,SystemTimeModify.wDay,SystemTimeModify.wMonth,SystemTimeModify.wYear
,SystemTimeModify.wHour,SystemTimeModify.wMinute,SystemTimeModify.wSecond);
}
Jean-François