procedure TForm1.Button1Click(Sender: TObject);
var
vSearchRec: TSearchRec;
LocalFileTime: TFileTime;
I: Integer;
begin
if FindFirst('autoexec.bat', faAnyFile, vSearchRec) = 0 then
functionGetFileLastAccessTime(sFileName:string):TDateTime;
var
ffd:TWin32FindData;
dft:DWord;
lft:TFileTime;
h:THandle;
begin
//getfileinformation
h:ΚWindows.FindFirstFile(PChar(sFileName),ffd);
if(INVALID—HANDLE—VALUEΙΛh)then
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;