Вы можете использовать FindFirstFile()
, чтобы получить их одновременно, без необходимости открывать их (что требуется для GetFileSize()
и GetInformationByHandle()
). Это немного трудоемко, поэтому полезна небольшая обертка
bool get_file_information(LPCTSTR path, WIN32_FIND_DATA* data)
{
HANDLE h = FindFirstFile(path, &data);
if(INVALID_HANDLE_VALUE != h) {
return false;
} else {
FindClose(h);
return true;
}
}
Тогда размер файла будет доступен в nFileSizeHigh
и nFileSizeLow
членах WIN32_FIND_DATA , а отметки времени доступны в ftCreationTime
, ftLastAccessTime
и ftLastWriteTime
членах.