怎样获得一个Application的版本信息?

解决方案 »

  1.   

    TO:liuziran(倒立旋风转的青蛙) 
    GetVersion好象是WinApi函数,用于得到操作系统的版本号呢!
    此问题关注中!
      

  2.   

    type
      TRVersion= record
        ma,
        mj,
        r,
        b: integer;
        fd: integer
      end;.................
    function GetVersionDetail(const sFN: string; var rv: TRVersion): boolean;
    var
      buf: pchar;
      sVer: PVSFIXEDFILEINFO ;
      i: LongWord;
    begin
      result:= false;
      try
        if (Trim(sFN) = '') then
          exit;
        if (not FileExists(sFN)) then
          raise Exception.CreateFmt('File ''%s'' is not exists, Please check again.', [sFN]);
        //
        i:= GetFileVersionInfoSize(pchar(sFN), i);
        GetMem(buf, i);
        try
          ZeroMemory(buf, i);
          Result:= false;
          if GetFileVersionInfo(pchar(sFN), 0, 4096, pointer(buf)) then
            if VerQueryValue(buf, '\', pointer(sver), i) then begin
              rv.ma:= sVer^.dwFileVersionMS shr 16;
              rv.mj:= sver^.dwFileVersionMS and $0000ffff;
              rv.r := sver^.dwFileVersionLS shr 16;
              rv.b := sver^.dwFileVersionLS and $0000ffff;
              rv.fd:= sver^.dwFileDateLS;
            end;
            result:= true;
        finally
          FreeMem(buf);
        end;
        //
      except
        raise;
      end;
    end;