Версия для печати

Как изменить дату создания файла?

Оцените материал
(1 Голосовать)

Как изменить дату создания файла?

function SetFileDateTime( const FileName: string; NewDateTime: TDateTime ): boolean;
var
  FileHandle: integer;
  FileTime: TFileTime;
  LFT: TFileTime;
  LST: TSystemTime;
begin
   Result := false;
   try
      DecodeDate( NewDateTime, LST.wYear, LST.wMonth, LST.wDay );
      DecodeTime( NewDateTime, LST.wHour, LST.wMinute, LST.wSecond, LST.wMilliSeconds );
      if SystemTimeToFileTime( LST, LFT ) then
      begin
         if LocalFileTimeToFileTime( LFT, FileTime ) then
         begin
            FileHandle := FileOpen( FileName, fmOpenReadWrite or fmShareExclusive );
            if SetFileTime( FileHandle, nil, nil, @FileTime ) then
               Result := true;
         end;
      end;
   finally
      FileClose( FileHandle );
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   SetFileDateTime( 'C:\Test.txt', StrToDateTime( '01.01.2004 15:00' ) );
end;
Прочитано 14101 раз