Je vérifie la dernière heure d'accès au fichier en utilisant GetFileTime
Ça marche. Mais il me donne même l'heure à laquelle j'ai cliqué sur le bouton droit de la souris pour la dernière fois, est-ce normal ? Accessed:
dans l'onglet Général des propriétés du fichier.
Réponse
Trop de publicités?Réponse courte : Oui, un clic droit sur un fichier met à jour des informations sur le fichier et déclenche une mise à jour qui est enregistrée et peut être récupérée par GetFileTime.
Cependant, la vraie réponse est assez complexe.
NTFS met techniquement à jour le LastAccess Time simplement en listant les fichiers dans un répertoire. Ainsi, le simple fait d'ouvrir le répertoire dans lequel se trouve un fichier déclenche une mise à jour pour TOUS les fichiers de ce répertoire.
À partir de Windows 7, il existe une entrée de registre qui désactive cette fonction afin d'éviter que le journal NTFS ne se remplisse. La valeur par défaut empêche NTFS de mettre à jour l'horodatage du dernier accès sur chaque fichier et répertoire lorsqu'il liste les répertoires d'un volume NTFS : https://technet.microsoft.com/en-us/library/cc959914.aspx
Les différents systèmes de fichiers et les différentes métriques de ces systèmes ont également des résolutions temporelles différentes :
Tous les systèmes de fichiers ne peuvent pas enregistrer les heures de création et de dernier accès, et tous les systèmes de fichiers ne les enregistrent pas de la même manière. Par exemple, la résolution de l'heure de création sur FAT est de 10 millisecondes, tandis que l'heure d'écriture a une résolution de 2 secondes et l'heure d'accès a une résolution d'un jour, il s'agit donc réellement de la date d'accès. Le système de fichiers NTFS retarde les mises à jour de l'heure du dernier accès à un fichier jusqu'à une heure après le dernier accès.
Voir ici pour plus d'informations à ce sujet : http://msdn.microsoft.com/en-us/library/ms724290(v=vs.85).aspx
Pour un fichier, la structure indique quand le fichier a été lu ou écrit pour la dernière fois. Pour un répertoire, la structure indique quand le répertoire a été créé. Pour les fichiers et les répertoires, la date spécifiée est correcte, mais l'heure est toujours fixée à minuit. Si le système de fichiers sous-jacent ne prend pas en charge l'heure du dernier accès, ce membre est égal à zéro.
D'ici : http://msdn.microsoft.com/en-us/library/aa365739(v=vs.85).aspx
Ils ont été trouvés ici : https://superuser.com/questions/232143/Windows-7-file-properties-is-date-accessed-always-100-accurate