EXE捆绑机有关的问题,请各位大虾指点一二.(50分)

  • 主题发起人 主题发起人 xuziling20
  • 开始时间 开始时间
X

xuziling20

Unregistered / Unconfirmed
GUEST, unregistred user!
如何才能让两个单独的EXE 捆绑后形成的一个程序能分别运行原来二个EXE的呢。这类软件不少,
但小弟想知道原理,可否用DELPHI 实现?[?]
; 有朋友用流来说明了捆绑的过程,但是小弟难在合并后的单个EXE如何分离出包含的两个子程序呢,
一个EXE 如何在运行期间将自身分成两部分运行,有些不太明白![?][:(!]
 
想必你已经知道如何组合了,其实分离的原理也很简单。
var
; SelfStream, DestStream: TMemoryStream;
begin
; SelfStream := TMemoryStream.Create;
; DestStream := TMemoryStream.Create;
; SelfStream.LoadFromFile(Application.ExeName);//装入自身(组合后的)
; DestStream.CopyFrom(SelfStream, FirstSize);//装入第一个子程序
; //FirstSize为第一个子程序的大小,具体放在哪里,自己想办法,不难
 DestStream.Position := 0;
; DestStream.SaveToFile('c:/a1.exe');//生成第一个子程序
; DestStream.Clear;
; DestStream.CopyFrom(SelfStream, SelfStream.Size - FirstSize);//装入第二个子程序
; DestStream.Position := 0;
; DestStream.SaveToFile('c:/a2.exe');//生成第二个子程序
; DestStream.Free;
; SelfStream.Free;
end;
//以上代码为手工敲的,未检查!
然后就可以分别去执行了
 
接受答案了.
 
后退
顶部