获取文件最后被访问的时间
某些软件需要获取文件的最后被访问时间,这一属性是DOS文件系统所没有的,无法用传统的函数来做到。Windows 提供一个函数
GetFileTime 做此项操作,在 Delphi 中可方便地调用,
示例如下:
procedure GetFileLastAccessTime(FileName:
PChar);
var
CreateFT, LastAccessFT, LastWriteFT: TFileTime;
ST: TSystemTime;
F: Integer;
begin
{ 首先要用Windows的标准API函数以读方式打开文件 }
F := CreateFile(FileName, GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
0);
if F=INVALID_HANDLE_VALUE then
begin
ShowMessage('Can not open file!');
Exit;
end;
{ 取文件时间 }
if GetFileTime(F, @CreateFT, @LastAccessFT, @LastWriteFT) then
begin
{ 转换为系统时间并显示 }
FileTimeToSystemTime(LastAccessFT, ST);
Label1.Caption := Format('%d-%d-%d, %d:%d:%d',
[ST.wYear, ST.wMonth, ST.wDay, ST.wHour, ST.wMinute,ST.wSecond]);
end;
CloseHandle(F); { 记住关闭文件 }
end;
|