Я хочу добавить информацию о версии (для определенного языка) в другие exes, которые не имеют такой информации (вообще).
Я попытался с BeginUpdateResource / UpdateResource / EndUpdateResource, но все, что мне удалось, это создать «Версия >> 1 >> Неизвестная строка», а не «Версия >> 1 >> CompanyName / VersionNumber / Description ...» и их значения.
Я искал в Google и здесь, но не смог найти что-то полезное. Только неполный код, который я не знал, как закончить.
Спасибо.
Edit:
Вот код, который я сейчас использую:
procedure SetExeInfo(const ExeName, ResName, ResValue: string);
var
ResourceHandle: THandle;
DataLength: DWord;
Data: array of Char;
Ok: Boolean;
i: Integer;
begin
ResourceHandle := BeginUpdateResource(pChar(ExeName), False);
if (ResourceHandle <> 0) then
begin
DataLength := 8;
SetLength(Data, 8);
for i := 0 to 7 do
Data[i] := 'z';
Ok := True;
if (not UpdateResource(ResourceHandle, RT_VERSION, pChar(#49#0), LANG_SYSTEM_DEFAULT {MakeLangID(LANG_NEUTRAL, SUBLANG_NEUTRAL)}, Data, DataLength)) then
Ok := False;
if (not EndUpdateResource(ResourceHandle, False)) then
Ok := False;
if (Ok) then
ShowMessage('Update of resources successful!')
else
ShowMessage('Update of resources failed!');
end;
end;
Последнее редактирование:
Я не указал в своем вопросе, что я не могу передать информацию из другого exe-файла, потому что я не видел смысла делать это, поскольку я специально не сказал, что беру информацию о версии из другого exe-файла. , Похоже, я был неправ, извините.