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.

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;
Dans cet exemple, le code fonctionne bien (comme je le souhaite) jusqu'au "FindClose"ou "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