[1837]
RE: ファイル保存のバグ
みく
フラッシュするだけでは不十分でした。
(フラッシュしてもマシンによっては更新後の時刻が取得できません。)
よって、いったんハンドルをクローズしてから再オープンする
必要があります。
dwFileAttribute = ::GetFileAttributes(pszPath);
if ( dwFileAttribute == (DWORD)-1 )
{
dwFileAttribute = FILE_ATTRIBUTE_NORMAL;
}
hFile = ::CreateFile(
pszPath, // 開くファイル名
GENERIC_READ, // 読み込みモードで開く。
0, // 共有しない。
NULL, // ハンドルを継承しない。
OPEN_EXISTING, // 存在するファイルを開く。
dwFileAttribute, // ファイル属性。
NULL // テンプレートファイルを使わない。
);
if ( hFile != INVALID_HANDLE_VALUE )
{
::GetFileTime( (HANDLE)hFile, NULL, NULL, pFileTime );
::CloseHandle(hFile);
}