別のexeファイルのDelphiバージョン情報を更新できる小さなツールをDelphiで作成したいと思っていました。このためにいくつかの既存のユーティリティが存在することは知っていますが、完全なプログラムによる制御が必要であり、コマンドラインなどへのシェルアウトを望まないでしょう。
Web検索後、exeファイルのバージョン情報を変更するDelphiソースコードの例が見つかりませんでした。誰かがコードや指示を提供できますか?
完全な回答はできませんが、始めることはできます。DelphiDabbler.comに、ファイルからバージョン情報を取得する方法を説明した記事があります。GetFileVersionInfo
それを行うための Windows API です。それを設定するにUpdateResource
は、Windows API 関数を使用する必要があると思います。C を使用してこれをカバーする CodeProject の別の記事がありますが、何を行う必要があるかについて確かなアイデアが得られるはずです。
幸運を!
編集: Delphi ニュースグループで、さらに役立つコードを見つけました。
// Credit to Michael Winter for this code!
Sz := GetLen;
GetMem(Data, Sz);
try
GetData(Data, Sz);
HFile := BeginUpdateResource(PChar(FileName), false);
if HFile = 0 then
RaiseLastWin32Error;
DoDiscard := true;
try
if not UpdateResource(HFile, RT_VERSION, PChar(1), 0, Data, Sz) then
RaiseLastWin32Error;
DoDiscard := false;
finally
if not EndUpdateResource(HFile, DoDiscard) then
RaiseLastWin32Error;
end;
finally
FreeMem(Data);
end;
これは単なるスニペットであり、あなたの側でいくつかの作業が必要になりますが、それは作業の大部分です!
Colin Wilson のXN Resource Editorのソース コードも参考になるかもしれません。