2009-04-18 59 views
2

我想在Delphi中创建一个小工具,它可以在另一个exe文件中更新Delphi版本信息。我知道有几个现有的实用程序在这里,但我需要完整的程序控制,并且宁愿不要对命令行进行脱壳等。使用Delphi修改另一个delphi程序的版本信息

经过网络搜索后,我找不到任何修改版本的Delphi源代码示例信息在EXE,任何人都可以提供一些代码或方向?

回答

7

我不能给出一个完整的答案,但我可以让你开始。有an article at DelphiDabbler.com,填写如何从文件中获取版本信息。 GetFileVersionInfo是要做到这一点的Windows API。要设置它,我相信UpdateResource是您需要使用的Windows API函数。使用C可以覆盖这个another article at CodeProject,但它应该给你一个关于需要做什么的坚实想法。

祝你好运!

编辑:我发现了德尔福新闻组,可能会给你一些更多的帮助一些代码:

// 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; 

这只是一个片段,并会要求你做一些工作,但是这是的最大份额工作!

3

还有科林威尔逊的XN Resource Editor与源代码可能有所帮助。

+0

引用的链接已死亡。 – Wolf 2016-07-11 09:24:25

相关问题