delphi2009如何获取软件版本号?

解决方案 »

  1.   

    VER200
    jedi project里有个jedi.inc,里面定义了许多预编译标识符,比如delphi 2009的话就可以通过
    {$IFDEF DELPHI2009}
    {$ENDIF}
    来判断,不用去记 ver200 这么难记的标识符了
      

  2.   

    uses
      Windows,
      SysUtils;{
     名称: GetFileVersion
     功能: 获取文件版本号
     参数: FilePath: string - 指定文件路径, 若传入空字符串(默认值), 则直接获取当前程序文件版本.
     返回: string - 返回版本号字符串
    }
    function GetFileVersion(const FilePath: string = ''): string;
    var
      FileName: string;
      pVerInfo: PVSFixedFileInfo;
      pBuffer: Pointer;
      dwSize: DWORD;
      dwHandle: DWORD;
      dwLength: DWORD;
    begin
      Result := '';  FileName := FilePath;
      if Length(Trim(FileName)) = 0 then
      begin
        FileName := ParamStr(0);
      end;  if not FileExists(FileName) then Exit;  dwSize := GetFileVersionInfoSize(PChar(FileName), dwHandle);
      if dwSize = 0 then Exit;  GetMem(pBuffer, dwSize);
      try
        try
          GetFileVersionInfo(PChar(FileName), 0, dwSize, pBuffer);
          if VerQueryValue(pBuffer, '\', Pointer(pVerInfo), dwLength) then
          begin
            Result := Format(
              '%d.%d.%d.%d',
              [HIWORD(pVerInfo.dwFileVersionMS),
              LOWORD(pVerInfo.dwFileVersionMS),
              HIWORD(pVerInfo.dwFileVersionLS),
              LOWORD(pVerInfo.dwFileVersionLS)]
            );
          end;
        except
          Exit;
        end;
      finally
        FreeMem(pBuffer);
      end;
    end;
      

  3.   

    我的意思是说delphi2009里有没有自带相关函数或方法谢谢了!