???

解决方案 »

  1.   


    //获取指定文件的版本号
    function getBRVersion(aFileName: string; var aVersion: string): BOOL;
    var
      lpdwHandel: Cardinal;
      verInfoSize: DWORD;
      pVerData: Pointer;
      verInfo: PVSFixedFileInfo;
      wV1, wV2, wV3, wV4: Word;
    begin
      Result := False;
      verInfoSize := GetFileVersionInfoSize(PChar(aFileName), lpdwHandel);
      if verInfoSize <> 0 then
      begin
        GetMem(pVerData, verInfoSize);
        try 
          if GetFileVersionInfo(PChar(aFileName), lpdwHandel, verInfoSize, pVerData) then
          begin
            if VerQueryValue(pVerData, '\', Pointer(verInfo), verInfoSize) then
            begin
              wV1 := HiWord(verInfo.dwFileVersionMS);
              wV2 := verInfo.dwFileVersionMS;
              wV3 := HiWord(verInfo.dwFileVersionLS);
              wV4 := verInfo.dwFileVersionLS;
              aVersion := Format('%d.%d.%d.%d', [wV1, wV2, wV3, wV4]);
              Result := True;
            end;
          end;
        finally
          FreeMem(pVerData);
        end;
      end;
    end;