//设置指定文件FileName的创建,访问,修改时间为SpecialFileTime(标准时间),成功返回True
Function SetSpecialFileTime(FileName:TFileName;SpecialFileTime:TSystemTime):BOOL;
Var
CFTime:TFileTime;
PFTime:PFileTime;
FileHandle:THandle;
FileAttr:DWORD;
Begin
Result:=False;
if FileExists(FileName)=False Then Exit; //文件不存在 CFTime.dwLowDateTime:=0; //初始化
CFTime.dwHighDateTime:=0;
PFTime:=@CFTime; if SystemTimeToFileTime(SpecialFileTime,CFTime)=False then Exit;
FileAttr:=GetFileAttributes(PChar(FileName)); //保存文件属性
if FileAttr=$FFFFFFFF then Exit; SetFileAttributes(PChar(FileName),FILE_ATTRIBUTE_NORMAL); //更改文件属性
FileHandle:=FileOpen(FileName,fmOpenWrite);
if FileHandle=-1 then Exit;
if SetFileTime(FileHandle,PFTime,PFTime,PFTime)=False then //设置指定文件时间
Begin
FileClose(FileHandle);
SetFileAttributes(PChar(FileName),FileAttr); //恢复文件属性
Exit;
End;
FileClose(FileHandle);
SetFileAttributes(PChar(FileName),FileAttr); //恢复文件属性
Result:=True;
End;
Function SetSpecialFileTime(FileName:TFileName;SpecialFileTime:TSystemTime):BOOL;
Var
CFTime:TFileTime;
PFTime:PFileTime;
FileHandle:THandle;
FileAttr:DWORD;
Begin
Result:=False;
if FileExists(FileName)=False Then Exit; //文件不存在 CFTime.dwLowDateTime:=0; //初始化
CFTime.dwHighDateTime:=0;
PFTime:=@CFTime; if SystemTimeToFileTime(SpecialFileTime,CFTime)=False then Exit;
FileAttr:=GetFileAttributes(PChar(FileName)); //保存文件属性
if FileAttr=$FFFFFFFF then Exit; SetFileAttributes(PChar(FileName),FILE_ATTRIBUTE_NORMAL); //更改文件属性
FileHandle:=FileOpen(FileName,fmOpenWrite);
if FileHandle=-1 then Exit;
if SetFileTime(FileHandle,PFTime,PFTime,PFTime)=False then //设置指定文件时间
Begin
FileClose(FileHandle);
SetFileAttributes(PChar(FileName),FileAttr); //恢复文件属性
Exit;
End;
FileClose(FileHandle);
SetFileAttributes(PChar(FileName),FileAttr); //恢复文件属性
Result:=True;
End;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货