Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
Delphi 12 Athens
|
Dateiversionsinformationen auslesen
22. Mai 2003, 12:54
Ich habs gerade gebraucht und alten Code von mir hier gefunden. Jetzt kommt der zur Abwechslung auch einmal in die Code Library
Delphi-Quellcode:
function GetFileInfo(
var aInternalName, aFileVersion: String; FileName: AnsiString
): Boolean;
var
VersionInfoSize, VerInfoSize, GetInfoSizeJunk: DWORD;
VersionInfo, Translation, InfoPointer: Pointer;
VersionValue: AnsiString;
begin
Result := False;
VerInfoSize := GetFileVersionInfoSize(PChar(FileName), GetInfoSizeJunk);
if VerInfoSize > 0 then
begin
GetMem(VersionInfo, VerInfoSize);
try
GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VersionInfo);
VerQueryValue(
VersionInfo, '\\VarFileInfo\\Translation', Translation, VerInfoSize
);
VersionValue :=
'\\StringFileInfo\\' + IntToHex(LoWord(LongInt(Translation^)), 4) +
IntToHex(HiWord(LongInt(Translation^)), 4) + '\\';
VersionInfoSize := 0;
VerQueryValue(
VersionInfo, PChar(VersionValue + 'InternalName'), InfoPointer,
VersionInfoSize
);
aInternalName := AnsiString(PChar(InfoPointer));
VerQueryValue(
VersionInfo, PChar(VersionValue + 'FileVersion'), InfoPointer,
VersionInfoSize
);
aFileVersion := AnsiString(PChar(InfoPointer));
finally
FreeMem(VersionInfo);
end;
aInternalName := Trim(aInternalName);
aFileVersion := Trim(aFileVersion);
Result := (aInternalName <> '') and (aFileVersion <> '');
end;
end;
Daniel Lizbeth Ich bin nicht zurück, ich tue nur so
|
|
Zitat
|