어떤 파일을 열어서 작업하면
당연히 OS에 의해서 파일 수정시간 엑세스 시간이 변경됩니다.
이를 변경되지 않게 하는 방법은 뭘까요?
그러니까, 파일의 내용을 바꾸었지만 파일 수정시간 엑세스타임은 변경되지 않게 해서
마치 아무것도 바뀌지 않은 것인양 시치미 땔때 필요한 기법입니다.
//---------------------------------------------------------------------------
void __fastcall TFormMain::Button1Click(TObject *Sender)
{
// 날짜 시간 변경을 막기 위해 원래 값을 읽어 놓는다.
int h = FileOpen(filename, fmOpenReadWrite);
int file_age = 0;
if (h)
{
file_age = FileGetDate(h);
FileClose(h);
}
// 여기서 필요한 작업을 합니다.
//
// 하기 싫음 말구.
//
// 마지막으로 원래의 파일 날짜 시간으로 돌린다.
h = FileOpen(filename, fmOpenReadWrite);
FileSetDate(h, file_age);
FileClose(h);
}
//---------------------------------------------------------------------------
|