我想在Delphi中创建一个小工具,可以在另一个exe文件中更新Delphi版本信息.我知道有几个现有的实用工具,但是我需要完全的程序控制,并且不希望在命令行中进行shelling等.
在网络搜索后,我找不到任何Delphi源代码修改exe文件中的版本信息的例子,任何人都可以提供一些代码或方向吗?
我不能给出完整的答案,但我可以帮助你.DelphiDabbler.com上有一篇文章说明了如何从文件中获取版本信息.GetFileVersionInfo是Windows API来做到这一点.要设置它,我相信UpdateResource是您需要使用的Windows API函数.CodeProject上还有另一篇文章,使用C来介绍它,但它应该让你对需要做什么有充分的了解.
祝好运!
编辑:我在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;
Run Code Online (Sandbox Code Playgroud)
这只是一个片段,需要你做一些工作,但这是最重要的工作!
| 归档时间: |
|
| 查看次数: |
1859 次 |
| 最近记录: |