Как извлечь & quot; столбец даты & quot; значение для конкретного файла для Windows 7 x64, в переполнении стека

Я хочу извлечь Дата значение для конкретного файла и сравнить его с датой изменения и датой создания в Visual C ++.

Я видел, что я могу извлечь Дата создания а также Дата изменена, но я ничего не знаю о Дата.

Я изменил некоторые файлы с ошибкой программного обеспечения, и единственный столбец, который все еще имеет правильное время, является Дата один. Как я могу извлечь это?

Я использую Windows 7 x64.

Здесь я видел только st_atime, st_ctime, st_mtime:
http://msdn.microsoft.com/en-us/library/14h5k7ff.aspx

0

Решение

Windows хранит три метки времени для каждого файла или папки:

  • Время создания (время / дата, когда элемент был впервые создан)
  • Время последней модификации (время последней записи файла)
  • Время последнего доступа (время последнего доступа к файлу)

Есть несколько способов прочитать эти временные метки, но с помощью собственного API Win32 вы можете сделать следующее:

LPCWSTR pszFileName = L"c:\\path\\to\\myfile.txt";
WIN32_FIND_DATA wfd;
HANDLE hFind = FindFirstFile(pszFileName, &wfd);
if (hFind != INVALID_HANDLE_VALUE)
{
FindClose(hFind);
// timestamps can now be found at:
// wfd.ftCreationTime
// wfd.ftLastAccessTime
// wfd.ftLastWriteTime
}

Вы можете использовать такие функции, как FileTimeToSystemTime() преобразовать FILETIME значения (которые являются просто числом тиков с определенной даты) в более удобные для использования SYSTEMTIME структуры, которые дают вам день, месяц, год, час, минуту и ​​т. д.

Примечание. «Время последнего изменения» также обновляется для папок и файлов и указывает, когда в последний раз файл был изменен непосредственно внутри этой папки. Изменения временных меток папок не распространяются на родительские папки.

Примечание 2: «Время последнего доступа» более или менее устарело и по умолчанию отключено в новых версиях Windows. Вы можете включить его, используя настройки реестра.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]