如何读取当前运行文件的日期?(50分)

  • 主题发起人 主题发起人 李长柱
  • 开始时间 开始时间

李长柱

Unregistered / Unconfirmed
GUEST, unregistred user!
读取文件日期的函数为FileGetDate(),但该函数只能读取其它文件的日期,<br>而当前运行的文件(自己)的日期,是否有其它函数或方法?
 
利用Delphi中的FindFirst函数可以得到一个文件的属性记录,该记录中的FindData<br>域中就记载了详细的文件时间信息。
 
前几天刚有人问过如何取目录的时间,其实与文件一样.查一查
 
用GetFileTime也可以:<br><br>var<br> h:HFILE;<br> ofs:OFSTRUCT;<br> local,at:FILETIME;<br> syst:SYSTEMTIME;<br>begin<br>h:=OpenFile(PChar(ParamStr(0)),ofs,OF_READ );//ParamStr(0)就是执行的exe文件自己<br>if(h=HFILE_ERROR)then<br> RaiseLastWin32Error();<br>GetFileTime(h,nil,nil,@at);<br>FileTimeToLocalFileTime(at,local);<br>FileTimeToSystemTime(local,syst);<br>ShowMessage(Format('%d-%d-%d %d:%d:%d',[syst.wYear,syst.wMonth,syst.wDay,syst.wHour,syst.wMinute,syst.wSecond]));<br>_lclose(h);<br>end;<br>
 
同意xdzhan. &nbsp; pipi的办法可能要报错.<br>var d:searchrec;<br>begin<br>&nbsp;findfirst(application.exename,Archive,d);<br>//d.time就是文件的时间,长整型Longint<br>end;
 
》pipi的办法可能要报错<br><br>pipi的方法不报错,亲自实验过了的。你为什么说他报错呢?<br><br>当前正在执行的文件虽然被系统打开,不过其他进程“只读”打开还是可以的,<br>“写”打开才不行
 
接受答案了.
 
后退
顶部