- #include <stdio>
- using namespace std;
- #include <windows>
- #include <iostream>
-
- //-----------------------------------------------------------------------
- // Auteur : UKR6900
- // Date début : 16/06/2006
- // Date dernière MAJ : 16/06/2006
- // Description : Exemple récupération des dates d'un fichier en clair
- //------------------------------------------------------------------------
-
- //------------------------------------------------------------------------------
- // FONCTION : myGetFileTime
- // DESCRIPTION : Retrouve les differentes dates d'un fichier et
- // converti les temps en chaine
- // VALEUR RETOUR : TRUE si succe, FALSE si echec
- // PARAMETRES : hFile - handle de fichier valide
- // lpszCreate - Pointer vers un buffer pour recevoir une chaine date creation
- // lpszAccess - Pointer vers un buffer pour recevoir une chaine date dern.acce
- // lpszWrite - Pointer vers un buffer pour recevoir une chaine date dern.modif.
- //HANDLE hFile
- //-------------------------------------------------------------------------------
- BOOL myGetFileTime(const char * NameFile, LPTSTR lpszCreate,LPTSTR lpszAccess,LPTSTR lpszWrite){
- FILETIME ftCreate, ftAccess, ftWrite;
- SYSTEMTIME stUTC, stCreateLocal,stAccessLocal,stWriteLocal;
-
- //opuverture du handle de fichier si existe
- HANDLE hFile = CreateFile(NameFile,0,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
- OPEN_EXISTING,0,NULL);
- if (hFile != INVALID_HANDLE_VALUE){
- //Recupere les temps du fichier
- if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
- return FALSE;
- else
- CloseHandle(hFile);
- //end if
- }else
- return FALSE;
- //end if
-
- //Converti le temp de creation en temp local
- FileTimeToSystemTime(&ftCreate, &stUTC);
- SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stCreateLocal);
-
- //Converti le temp dern.acce en temp local.
- FileTimeToSystemTime(&ftAccess, &stUTC);
- SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stAccessLocal);
-
- //Converti le temp dern.modif en temp local.
- FileTimeToSystemTime(&ftWrite, &stUTC);
- SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stWriteLocal);
-
-
- //Construit les chaines pour montrer la date et le temp.
- wsprintf(lpszCreate, TEXT("%02d/%02d/%d %02d:%02d"),
- stCreateLocal.wMonth, stCreateLocal.wDay, stCreateLocal.wYear,
- stCreateLocal.wHour, stCreateLocal.wMinute);
-
- wsprintf(lpszAccess, TEXT("%02d/%02d/%d %02d:%02d"),
- stAccessLocal.wMonth, stAccessLocal.wDay, stAccessLocal.wYear,
- stAccessLocal.wHour, stAccessLocal.wMinute);
-
- wsprintf(lpszWrite, TEXT("%02d/%02d/%d %02d:%02d"),
- stWriteLocal.wMonth, stWriteLocal.wDay, stWriteLocal.wYear,
- stWriteLocal.wHour, stWriteLocal.wMinute);
-
- return TRUE;
- }//end process
- //------------------------------------------------------------------------------
- // START PROGRAM TEST CLASS
- //-------------------------------------------------------------------------------
- void main(){
-
- //allocation mémoire
- char * strCreate = new char[20];
- char * strLastAccess = new char[20];
- char * strLastWrite = new char[20];
- const char * NameF = "C:\\WINDOWS\\clock.avi";
- //récupére les temps du fichier nomme
- myGetFileTime(NameF,strCreate,strLastAccess,strLastWrite);
-
- //Affiche les résultats
- cout << "Cree le : " << strCreate << endl;
- cout << "Modifie le : " << strLastWrite << endl;
- cout << "Dernier acce le : " << strLastAccess << endl;
-
- }
- //------------------------------------------------------------------------------
- // END PROGRAM TEST CLASS
- //-------------------------------------------------------------------------------
#include <stdio>
using namespace std;
#include <windows>
#include <iostream>
//-----------------------------------------------------------------------
// Auteur : UKR6900
// Date début : 16/06/2006
// Date dernière MAJ : 16/06/2006
// Description : Exemple récupération des dates d'un fichier en clair
//------------------------------------------------------------------------
//------------------------------------------------------------------------------
// FONCTION : myGetFileTime
// DESCRIPTION : Retrouve les differentes dates d'un fichier et
// converti les temps en chaine
// VALEUR RETOUR : TRUE si succe, FALSE si echec
// PARAMETRES : hFile - handle de fichier valide
// lpszCreate - Pointer vers un buffer pour recevoir une chaine date creation
// lpszAccess - Pointer vers un buffer pour recevoir une chaine date dern.acce
// lpszWrite - Pointer vers un buffer pour recevoir une chaine date dern.modif.
//HANDLE hFile
//-------------------------------------------------------------------------------
BOOL myGetFileTime(const char * NameFile, LPTSTR lpszCreate,LPTSTR lpszAccess,LPTSTR lpszWrite){
FILETIME ftCreate, ftAccess, ftWrite;
SYSTEMTIME stUTC, stCreateLocal,stAccessLocal,stWriteLocal;
//opuverture du handle de fichier si existe
HANDLE hFile = CreateFile(NameFile,0,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
OPEN_EXISTING,0,NULL);
if (hFile != INVALID_HANDLE_VALUE){
//Recupere les temps du fichier
if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
return FALSE;
else
CloseHandle(hFile);
//end if
}else
return FALSE;
//end if
//Converti le temp de creation en temp local
FileTimeToSystemTime(&ftCreate, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stCreateLocal);
//Converti le temp dern.acce en temp local.
FileTimeToSystemTime(&ftAccess, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stAccessLocal);
//Converti le temp dern.modif en temp local.
FileTimeToSystemTime(&ftWrite, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stWriteLocal);
//Construit les chaines pour montrer la date et le temp.
wsprintf(lpszCreate, TEXT("%02d/%02d/%d %02d:%02d"),
stCreateLocal.wMonth, stCreateLocal.wDay, stCreateLocal.wYear,
stCreateLocal.wHour, stCreateLocal.wMinute);
wsprintf(lpszAccess, TEXT("%02d/%02d/%d %02d:%02d"),
stAccessLocal.wMonth, stAccessLocal.wDay, stAccessLocal.wYear,
stAccessLocal.wHour, stAccessLocal.wMinute);
wsprintf(lpszWrite, TEXT("%02d/%02d/%d %02d:%02d"),
stWriteLocal.wMonth, stWriteLocal.wDay, stWriteLocal.wYear,
stWriteLocal.wHour, stWriteLocal.wMinute);
return TRUE;
}//end process
//------------------------------------------------------------------------------
// START PROGRAM TEST CLASS
//-------------------------------------------------------------------------------
void main(){
//allocation mémoire
char * strCreate = new char[20];
char * strLastAccess = new char[20];
char * strLastWrite = new char[20];
const char * NameF = "C:\\WINDOWS\\clock.avi";
//récupére les temps du fichier nomme
myGetFileTime(NameF,strCreate,strLastAccess,strLastWrite);
//Affiche les résultats
cout << "Cree le : " << strCreate << endl;
cout << "Modifie le : " << strLastWrite << endl;
cout << "Dernier acce le : " << strLastAccess << endl;
}
//------------------------------------------------------------------------------
// END PROGRAM TEST CLASS
//-------------------------------------------------------------------------------