发信人: quyan(奶瓶) 
整理人: soaringbird(2002-02-06 16:36:42), 站内信件
 | 
 
 
function GetFileVersion(FileName: string; var Major,Minor,Release,Build:Integer):Boolean;
 var
   Buf, P: pChar;
   sVer: ^VS_FIXEDFILEINFO;
   i: LongWord;
 begin
   i:= GetFileVersionInfoSize(PChar(FileName), i);
   New(sVer);
   P:= PChar(sVer);
   GetMem(Buf, i);
   ZeroMemory(Buf, i);
   Result:= False;
   if GetFileVersionInfo(pchar(FileName), 0, i, Pointer(Buf)) then
   begin
     if VerQueryValue(Buf, '\', Pointer(sVer), i) then
     begin
       Major := sVer^.dwFileVersionMS shr 16;
       Minor := sVer^.dwFileVersionMS and $0000ffff;
       Release := sVer^.dwFileVersionLS shr 16;
       Build := sVer^.dwFileVersionLS and $0000ffff;
       Result:= True;
     end;
   end;
   Dispose(P);
   FreeMem(Buf);
 end;
  | 
 
 
 |