Application version
Using this simple function, you will be able to read version information from any application executable. It’s very useful for example to show your own application version on title bar or “About” dialog.
First of all, make sure you check “Include version information in project” in Project Options dialog. The version information will be included to your executable and can be viewed from Explorer using context menu. But using function below, you can read version info from your app.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
function AppVersion(const Filename: string):string; var dwHandle: THandle; dwSize: DWORD; lpData, lpData2: Pointer; uiSize: UINT; begin Result := ''; dwSize := GetFileVersionInfoSize(PChar(FileName), dwSize); if dwSize <> 0 then begin GetMem(lpData, dwSize); if GetFileVersionInfo(PChar(FileName), dwHandle, dwSize, lpData) then begin uiSize := Sizeof(TVSFixedFileInfo); VerQueryValue(lpData, '', lpData2, uiSize); with PVSFixedFileInfo(lpData2)^ do Result := Format('%d.%02d.%02d.%02d', [HiWord(dwProductVersionMS), LoWord(dwProductVersionMS),HiWord(dwProductVersionLS), LoWord(dwProductVersionLS)]); end; FreeMem(lpData, dwSize); end; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Version: ' + AppVersion(Application.ExeName)); end; |