[] 关于文件的创建时间

[求助] 关于文件的创建时间
遇到一个奇怪的东西.  不明白为什么会这样?   我用CFile :: modeCreate 创建了一个文件.  照理说这个文件的创建时间就是系统的当前的时间.  事实也是如此.  

问题出在, 我随后拷贝了这个文件作为后备,  再 删除当前文件.  那么当我在下一刻(  例如下一个小时 ) 再次 创建同样的文件名时,  文件创建时间却依然是上一个小时而不是当前的.  为什么会这样?

CString path = "c:\\new.txt";
CString newPath = "c:\\backup.txt";
CString str;
CTime now = CTime::GetCurrentTime();

CFile f;
CString strCreateTime, strLastTime;
CFileStatus fstatus;
CFile::GetStatus(path,fstatus);
strCreateTime = fstatus.m_ctime.Format("%H");
strLastTime = fstatus.m_mtime.Format("%H");

if( strCreateTime.Compare( strLastTime ) != 0 )
{
CopyFile( path, newPath, false ) 
DeleteFile(path);
}

 f.Open( path, CFile::modeCreate | CFile::modeWrite, NULL )  

------解决方案--------------------
"在windows下 ,通过文件操作函数API DeleteFile进行文件的删除,删除1.txt ,然后马上再新建1.txt ,此时读取的创建的日期没有改变。。"
delete 就是目录名的  第一个字节 被 改成 E5, 马上再 Create 就是 把 E5 改回来。

这个 现象, 曾被 用来 , 作为 加密 手段。

你可以  rename 这个 文件 , 再 delete。