Как вытащить VersionInfo из свойств проекта

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

function CurrentFileInfo(NameApp: string): string;

var

dump: DWORD;

size: integer;

buffer: PChar;

VersionPointer, TransBuffer: PChar;

Temp: integer;

CalcLangCharSet: string;

begin

size := GetFileVersionInfoSize(PChar(NameApp), dump);

buffer := StrAlloc(size 1);

try

GetFileVersionInfo(PChar(NameApp), 0, size, buffer);

VerQueryValue(buffer, ‘\VarFileInfo\Translation’, pointer(TransBuffer),

dump);

if dump >= 4 then

begin

temp:=0;

StrLCopy(@temp, TransBuffer, 2);

CalcLangCharSet:=IntToHex(temp, 4);

StrLCopy(@temp, TransBuffer 2, 2);

CalcLangCharSet := CalcLangCharSet IntToHex(temp, 4);

end;

VerQueryValue(buffer, pchar(‘\StringFileInfo\’ CalcLangCharSet

‘\’ ‘FileVersion’), pointer(VersionPointer), dump);

if (dump > 1) then

begin

SetLength(Result, dump);

StrLCopy(Pchar(Result), VersionPointer, dump);

end

else

Result := ‘0.0.0.0’;

finally

StrDispose(Buffer);

end;

end;

{/codecitation}

Добавить комментарий