编辑后保留文件的旧时间戳

Preserve old timestamp of file after editing

本文关键字:时间戳 文件 保留 编辑      更新时间:2023-10-16

如何在更改旧时间戳后保留它?我需要在win32 api 中执行此操作

hfile = CreateFileA(path, //stackoverflow wont allow me submit this unless i include source ugghh >_<
                GENERIC_READ|GENERIC_WRITE,
                FILE_SHARE_READ,
                NULL,
                OPEN_EXISTING,
                0,
                NULL);

您可以在文件句柄上调用SetFileTime,如下所示:

FILETIME ft = { MAXDWORD, MAXDWORD };
SetFileTime(hFile, NULL, &ft, &ft);

这将阻止系统在将文件写入时修改时间戳。

您可以在写入文件之前调用GetFileTime,并使用原始时间调用SetFileTime来恢复文件以前的时间戳。