Bonjour,
J'essaie en vain de modifier la date d'un fichier.
J'arrive a récupérer la date dans des variables, modifier ces variables les récrire de la HANDLE mais à la libération du HANDLE, les modifications ne sont pas prises en compte.
Dans cet exemple, le code fonctionne bien (comme je le souhaite) jusqu'au "FindClose"ou "Delete lpFindFileData"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 WIN32_FIND_DATA* lpFindFileData = new WIN32_FIND_DATA; HANDLE hFile = ::FindFirstFile(NomFichier, lpFindFileData); // Lecture LowCreationTime = ((*lpFindFileData).ftCreationTime).dwLowDateTime; HighCreationTime = ((*lpFindFileData).ftCreationTime).dwHighDateTime; // Creation du QWORD HighLowDate=QWORD(HighCreationTime)<<32; HighLowDate = HighLowDate + QWORD(LowCreationTime); // bon // Modification QInterval = (QWORD(Interval) * QWORD(600000000)); HighLowDate = HighLowDate + QInterval; // bon // Découpage HighCreationTime = DWORD(HighLowDate >> 32); // bon QIntermediaire = QWORD(HighCreationTime)<<32; LowCreationTime = DWORD(HighLowDate - QIntermediaire); // Ecriture ((*lpFindFileData).ftCreationTime).dwLowDateTime = LowCreationTime; ((*lpFindFileData).ftCreationTime).dwHighDateTime = HighCreationTime; // Re lecture LowCreationTime = ((*lpFindFileData).ftCreationTime).dwLowDateTime; HighCreationTime = ((*lpFindFileData).ftCreationTime).dwHighDateTime; Texte.Format(_T("%u"),HighCreationTime); CE_High_Creation.SetWindowTextW(Texte); Texte.Format(_T("%u"),LowCreationTime); CE_Low_Creation.SetWindowTextW(Texte); FindClose(hFile); //delete lpFindFileData;
Et quand je teste le fichier, aucune modification ne c'est passée!
Quelqu'un aurai-t-il une idée, ou une meilleur solution?
Merci
Partager