Получаем время последнего изменения файла
Следующий пример получает время последнего изменения файла при помощи функции GetFileTime. Так же в примере показывается, как преобразовать это время относительно текущей временной зоны и создать строку с датой и временем, для того, чтобы показать пользователю.
// Возвращаемое значение - в случае успеха TRUE, иначе FALSE
// hFile - дескриптор файла
// lpszString - указатель на буфер для строки
BOOL GetLastWriteTime(HANDLE hFile, LPSTR lpszString)
{
FILETIME ftCreate, ftAccess, ftWrite;
SYSTEMTIME stUTC, stLocal;
// Получаем времена файла.
if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
return FALSE;
// Преобразуем время последнего изменения в локальное время.
FileTimeToSystemTime(&ftWrite, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);
// Составляем строку с датой и временем.
wsprintf(lpszString, "%02d/%02d/%d %02d:%02d",
stLocal.wDay, stLocal.wMonth, stLocal.wYear,
stLocal.wHour, stLocal.wMinute);
return TRUE;
}