![]() |
D2010, Versionsinfo auslesen
Hallo #,
obwohl hier schon viel geschrieben wurde, komme ich nicht klar ... Der meiste Code hier läßt sich unter D2010 nicht kompilieren (Ansicode <-> Unicode). Der untere Code funktioniert zwar, liefert mir aber z.B. bei Outlook 1.17897.XXX
Delphi-Quellcode:
Diese Zahl wollte ich eigentlich nicht ;)
function GetVersion2(const theFileName: string): string;
var VerInfoSize: DWORD; VerInfo: Pointer; VerValueSize: DWORD; VerValue: PVSFixedFileInfo; Dummy: DWORD; begin Result := ''; VerInfoSize := GetFileVersionInfoSize(PChar(theFileName), Dummy); if VerInfoSize = 0 then Exit; GetMem(VerInfo, VerInfoSize); GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo); VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize); with VerValue^ 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(VerInfo, VerInfoSize); end; Hülfe ;) Da sollte mal jemand die CodeLib-Bsp,-e aktualisieren. Danke Heiko |
AW: D2010, Versionsinfo auslesen
Wenn man auch zwei unterschiedliche Dateien abfragt :)
Delphi-Quellcode:
VerInfoSize := GetFileVersionInfoSize(PChar(theFileName), Dummy); // theFileName
if VerInfoSize = 0 then Exit; GetMem(VerInfo, VerInfoSize); GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo); // ParamStr(0) |
AW: D2010, Versionsinfo auslesen
Was sagen die Rückgabewerte(Result) von GetFileVersionInfo und VerQueryValue?
(ein Try-Finally könnte auch nicht schaden) [edit] OK, und das auch noch :shock: [edit2] Zitat:
![]() ![]() Die CodeLib-Aufräumer sollten mal aufräumen. (das auch immer alles doppelt und Dreifach vorkommen muß) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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