将两个程序合并为一个?

时间:2015-07-05 05:44:13

标签: windows cmd exe portable-executable

如果我有两个Windows可执行文件,我能将它们组合成一个可执行文件,并按顺序运行它们吗?

我尝试通过使用一个简单的程序将它们读成一个粗略而准确地做到这一点。结果是第二个程序运行,但第一个程序从未。下面我试着更好地解释一下:

C:\> bind.exe a.exe b.exe >out.exe

b.exe在a.exe写入out.exe后写入 如果你看看out.exe,它看起来像a.exe THEN b.exe,完全用二进制编写,包括不应重复两次的标题和其他信息。 运行它会导致运行b.exe,而不运行a.exe。我尝试像

那样切换订单
C:\> bind.exe b.exe a.exe >out.exe

在这种情况下运行了a.exe。

基本上这种方法不起作用,所以我应该怎么做呢?我考虑使用十六进制编辑器执行某些操作,同时遵循this explanation of the windows PE format(用于Windows可执行文件的格式)的格式并删除标题等,但我觉得有一个较少的时间消耗路由。

1 个答案:

答案 0 :(得分:1)

批量文件

最简单的方法是使用批处理文件。然后一个接一个地跑。

资源文件

另一种方法是创建第三个exe并将前两个作为资源添加到它。在运行时,将资源写入文件夹并依次运行。

其他解决方案

其他建议在这里

Merge two exe files into one programmatically