Der oben genannte Code ist unvollständig: es fehlt die Build-Version.
Delphi-Quellcode:
function GetAppVersionStr:
string;
var
Exe:
string;
Size,
Handle: DWORD;
Buffer: TBytes;
FixedPtr: PVSFixedFileInfo;
begin
Exe := ParamStr(0);
Size := GetFileVersionInfoSize(PChar(Exe),
Handle);
if Size = 0
then RaiseLastOSError;
SetLength(Buffer, Size);
if not GetFileVersionInfo(PChar(Exe),
Handle, Size, Buffer)
then
RaiseLastOSError;
if not VerQueryValue(Buffer, '
\', Pointer(FixedPtr), Size)
then
RaiseLastOSError;
Result := Format('
%d.%d, Release: %d, Build: %d',
[LongRec(FixedPtr.dwFileVersionMS).Hi,
//major
LongRec(FixedPtr.dwFileVersionMS).Lo,
//minor
LongRec(FixedPtr.dwFileVersionLS).Hi,
//release
LongRec(FixedPtr.dwFileVersionLS).Lo])
//build
end;
Aufruf:
caption:= 'Version: '+GetAppVersionStr;
-----------------------------
Ausgabe-Beispiel:
Version: 1.2, Release: 3, Build: 4