Как выяснить дату последнего доступа к файлу
Некий программист-коболист в поте лица трудился над пресловутой проблемой 2000 года. Он чинил программы во многих фирмах и зашибал приличные бабки. Но по мере приближения роковой даты его все больше охватывал ужас: что будет со всеми этими программами и с ним самим? Наконец он решил заморозиться и проспать в анабиозе до февраля 2000 года, а там, глядишь, вся свистопляска и уляжется... ...Он проснулся в странном незнакомом помещении, вокруг ликовали люди: - Очнулся, очнулся! - Сейчас с вами будет говорить президент Земного Шара. На огромном стереоскопическом экране возник человек, весьма похожий на Билла Гейтса. - Видите ли, программа вашей камеры при переходе к 2000 году сработала неправильно, и вы проспали почти 8000 лет. Но вы не волнуйтесь. Наша жизнь прекрасна. Мы достигли огромных успехов в науке и технологии. Мы покорили время и пространство. Мы... - Но почему вы меня разморозили? - Понимаете, приближается 10000 год, а в вашем досье указано, что вы знаете КОБОЛ. |
Данная процедура, позволяет узнать дату последнего доступа к файлу, код не проверял, но говорят работает. Для тех кто не знает что с этим делать намекну, можно использовать для создания триального реиода или просто отслеживания доступа к компьютеру.
procedure TForm1.Button1Click(Sender: TObject); var FileHandle: THandle; LocalFileTime: TFileTime; DosFileTime: DWORD; LastAccessedTime: TDateTime; FindData: TWin32FindData; begin FileHandle := FindFirstFile('AnyFile.FIL', FindData); if FileHandle <> INVALID_HANDLE_VALUE then begin Windows.FindClose(Handle); if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then begin FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime); FileTimeToDosDateTime(LocalFileTime, LongRec(DosFileTime).Hi, LongRec(DosFileTime).Lo); LastAccessedTime := FileDateToDateTime(DosFileTime); Label1.Caption := DateTimeToStr(LastAccessedTime); end; end; end; |
Далее: Как выяснить дату последнего изменения файла »»