2009-04-18 80 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

相關問題