有API。不过我觉得麻烦。直接写上去不就得了?嘿嘿。反正那个数字是自己定的。

解决方案 »

  1.   

    借花献佛:
    function FileVersion(FileName: String):string;
    var
      InfoSize, unuse: DWORD;
      VerBuf: Pointer;
      FI: PVSFixedFileInfo;
      VerSize: DWORD;
      MajorMinor,ReleaseBuild :DWORD;
    begin
      unuse :=0;
      MajorMinor := 0;//Major,Minor 如:00010001代表1.1
      ReleaseBuild := 0;//Release,Build 如00121208代表12.1208 则版本为1.1.12.1208
      result :='unknown';
      InfoSize := GetFileVersionInfoSize(PChar(FileName), unuse);
      if InfoSize <> 0 then
      begin
        GetMem(VerBuf, InfoSize);
        try
          if GetFileVersionInfo(PChar(FileName), unuse, InfoSize, VerBuf) then
            if VerQueryValue(VerBuf, '\', Pointer(FI), VerSize) then
            begin
              MajorMinor := FI.dwFileVersionMS;
              ReleaseBuild := FI.dwFileVersionLS;
            end;
        finally
          FreeMem(VerBuf);
        end;
        result :=IntToStr(MajorMinor shr 16) + '.' + IntToStr(MajorMinor and $ffff) + '.' + IntToStr(ReleaseBuild shr 16) + '.' + IntToStr(ReleaseBuild and $ffff);
      end;
    end;