![]() |
Version des eigenes Programms ermitteln
Hallo ihr,
wie kommt man an die Version des eigenes Programmes? Es gab da was in der CL ... Aber er findet bei version* nichts und version findet er nichts passendes. MfG xZise |
Re: Version des eigenes Programms ermitteln
hier:
Delphi-Quellcode:
als Path einfach eigenen Dateinamen angeben
function GetFileVersion(Path: string): string;
var lpVerInfo: pointer; rVerValue: PVSFixedFileInfo; dwInfoSize: cardinal; dwValueSize: cardinal; dwDummy: cardinal; lpstrPath: pchar; begin if Trim(Path) = EmptyStr then lpstrPath := pchar(ParamStr(0)) else lpstrPath := pchar(Path); dwInfoSize := GetFileVersionInfoSize(lpstrPath, dwDummy); if dwInfoSize = 0 then begin Result := 'No version specification'; Exit; end; GetMem(lpVerInfo, dwInfoSize); GetFileVersionInfo(lpstrPath, 0, dwInfoSize, lpVerInfo); VerQueryValue(lpVerInfo, '\', pointer(rVerValue), dwValueSize); with rVerValue^ do begin Result := IntTostr(dwFileVersionMS shr 16); Result := Result + '.' + IntTostr(dwFileVersionMS and $FFFF); Result := Result + '.' + IntTostr(dwFileVersionLS shr 16); Result := Result + '.' + IntTostr(dwFileVersionLS and $FFFF); end; FreeMem(lpVerInfo, dwInfoSize); end; |
Re: Version des eigenes Programms ermitteln
Den Thread den du gesucht hast gibt es aber auch:
![]() Google ist da momentan hilfreicher als die DP-Suche... |
Re: Version des eigenes Programms ermitteln
Wusste ich doch ... Nagut dann werde ich wohl demnächst mit google suchen müssen :(
MfG xZise |
Re: Version des eigenes Programms ermitteln
Hab' da noch eine Version, die weitere Informationen ermittelt:
Delphi-Quellcode:
procedure GetFileVersionInfos(List:TStrings;ItemNo:Word=0);
const SubBlock = 'StringFileInfo\040704E4\'; InfoNum = 10; InfoStr : Array[1..InfoNum] of String = ('CompanyName', 'FileDescription', 'FileVersion', 'InternalName', 'LegalCopyright', 'LegalTradeMarks', 'OriginalFileName', 'ProductName', 'ProductVersion', 'Comments'); var n,Len,i : DWORD; Buf : PChar; Value : PChar; begin n:=GetFileVersionInfoSize(PChar(Application.ExeName),n); if n=0 then List.Add('No version information found') else begin List.Clear; Buf:=AllocMem(n); Windows.GetFileVersionInfo(PChar(Application.ExeName),0,n,Buf); for i:=1 to InfoNum do if VerQueryValue(Buf,PChar(SubBlock+InfoStr[i]),Pointer(Value),Len) then if (ItemNo=0) or (ItemNo=i) then List.Add(InfoStr[i]+'='+Value); FreeMem(Buf,n) end end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz