![]() |
Dateiversionen!?
Hi!
Ich möchte gerne Dateiversionen auslesen. Aber ich finde keinen Ansatz. Ich würde gerne von Exe und Dll-Dateien die Version auslesen. Kann mir vielleicht jemand helfen? |
|
GetAppVersion
Hallo,
ich verwende diese Funktion:
Delphi-Quellcode:
Aufruf:
// Liefert die Programm-Version als String zurück.
// mit FormatStr wird festgelegt, welche Informationen von der Funktion gewünscht werden function GetAppVersion(FormatStr: string = '%d.%d.%d.%d'; DateiPfad: String = ''): string; var ptrBlock, verInfo : Pointer; verInfoSize : Integer; dwTmp : DWord; begin if DateiPfad = '' then DateiPfad := Application.ExeName; // sind Versionsinformationen enthalten ? verInfoSize := GetFileVersionInfoSize(PChar(DateiPfad), dwTmp); if verInfoSize > 0 then begin ptrBlock := AllocMem(verInfoSize); // entsprechend großen Speicher anfordern try // Versions-Info auslesen... GetFileVersionInfo(PChar(DateiPfad), 0, verInfoSize, ptrBlock); // Feststehende Daten auslesen... VerQueryValue(ptrBlock, '\', verInfo, dwTmp); with PVSFixedFileInfo(verInfo)^ do Result := Format(FormatStr, [HIWORD(dwProductVersionMS), LOWORD(dwProductVersionMS), HIWORD(dwProductVersionLS), LOWORD(dwProductVersionLS)]); finally FreeMem(ptrBlock); // Speicher freigeben end; end; end;
Delphi-Quellcode:
Gruß,
ShowMessage(GetAppVersion('%d.%d.%d.%d', 'C:\Test.exe'));
Garby |
Vielen Dank! Die Function funktioniert sehr gut! :hello:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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