我想在Delphi中创建一个小工具,它可以更新另一个exe文件中的Delphi版本信息。我知道有几个现有的实用程序可以做到这一点,但我需要完全的编程控制,并且不喜欢命令行等。
在网上搜索后,我找不到任何修改可执行文件中版本信息的Delphi源代码示例,有人能提供一些代码或指导吗?
发布于 2009-04-18 04:17:12
我不能给出一个完整的答案,但我可以让你开始。有一个an article at DelphiDabbler.com填充了如何从文件中获取版本信息。GetFileVersionInfo是实现这一功能的Windows API。要设置它,我相信UpdateResource是您需要使用的Windows API函数。使用C语言的another article at 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;这只是一个代码片段,需要您做一些工作,但这是工作的最大份额!
发布于 2009-04-18 15:30:07
还有科林·威尔逊的XN Resource Editor,它的源代码可能会有所帮助。
https://stackoverflow.com/questions/762778
复制相似问题