Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
Delphi 2005 Professional
|
GetAppVersion
19. Mär 2003, 09:57
Hallo,
ich verwende diese Funktion:
Delphi-Quellcode:
// 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;
Aufruf:
ShowMessage(GetAppVersion('%d.%d.%d.%d', 'C:\Test.exe'));
Gruß,
Garby
Walter Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
|
|
Zitat
|