获取文件大小,修改日期,版本

//获取文件版本
function getFileVersion(sFile: string; bIncludeBuild: boolean): string;
var
 dwfvw, dwZero, dwvsf: DWORD;
 Major, Minor, Release, Build: DWORD;
 pfvw: PChar;
 pvsf: PVSFixedFileInfo;
 s: string;
begin
 Result:='';
 dwfvw:=GetFileVersionInfoSize(PChar(sFile), dwZero);
 if dwfvw<>0 then
 begin
   GetMem(pfvw, dwfvw);
   try
     if(GetFileVersionInfo(PChar(sFile), dwZero, dwfvw, pfvw))then
     begin
       if(VerQueryValue(pfvw, '/', Pointer(pvsf), dwvsf))then
       begin
         if((pvsf^.dwFileFlags and VS_FF_PRERELEASE)>0)then
         begin
           s:='beta';
         end
         else begin
           s:='';
         end;
         Major:=HIWORD(pvsf^.dwFileVersionMS);
         Minor:=LOWORD(pvsf^.dwFileVersionMS);
         Release:=HIWORD(pvsf^.dwFileVersionLS);
         Build:=LOWORD(pvsf^.dwFileVersionLS);
         Result:=pchar(Format('%d.%d.%d.%d', [Major, Minor, Release, Build]));
         if bIncludeBuild then
         begin
           if Release>0 then
           begin
             Result:=pchar(Format('%d.%d.%d.%d', [Major, Minor, Release, Build]))
           end
           else begin
             Result:=pchar(Format('%d.%d.%d', [Major, Minor, Build]))
           end;
         end
         else begin
           if Release>0 then begin
             Result:=pchar(Format('%d.%d.%d', [Major, Minor, Release]))
           end
           else begin
             Result:=pchar(Format('%d.%d', [Major, Minor]))
           end;
         end;
       end;
     end;
   finally
     FreeMem(pfvw);
   end;
 end;
end;

//获取修改日期
function GetFileModifyDate(sFile:string):TDatetime;
begin
  if not FileAge(sFile, Result) then
    Result := now();
end;

//获取文件大小
function GetFileSize(sFile:string):integer;
var f:file;
begin
  AssignFile(f,sFile);
  Reset(f);
  Result := FileSize(f);
  CloseFile(f);
end; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值