频道分类

Delphi 获取上一次文件访问时间

作者:admin 来源: 日期:2020/9/15 21:19:11 人气: 标签:

 
上次访问该文件的时间是什么?
这是如何编写一个函数的示例,该函数将返回文件的上次访问时间(不要与上次修改时间混淆)。

function GetFileLastAccessTime(sFileName: string): TDateTime;
var
  ffd : TWin32FindData;
  dft : DWord;
  lft : TFileTime;
  h   : THandle;
begin
  // get file information
  h := Windows.FindFirstFile(PChar(sFileName), ffd);
  if INVALID_HANDLE_VALUE <> h then
  begin
    // we're looking for just one file, so close our "find"
    Windows.FindClose(h);

    // convert the FILETIME to local FILETIME
    FileTimeToLocalFileTime(ffd.ftLastAccessTime, lft);

    // convert FILETIME to DOS time
    FileTimeToDosDateTime(lft, LongRec(dft).Hi, LongRec(dft).Lo);

    // finally, convert DOS time to TDateTime for use in Delphi's
    // native date/time functions
    Result := FileDateToDateTime(dft);
  end;
end;

GetFileLastAccessTime()将以Delphi TDateTime类型返回给定文件的上次访问时间,您可以使用DateTimeToStr()函数将其转换为字符串。例如:

MessageDlg(
    'c:\config.sys was last accessed on '
    + DateTimeToStr(GetFileLastAccessTime('c:\config.sys')),
    mtInformation, [mbOk], 0
);

上一篇:Delphi 对非活动窗口进行屏幕截图下一篇:没有资料