可以这样:<br> 把要附加的程序用DOS COPY 附加到你的外壳程序的尾部:<br> COPY /B MYSHELL.EXE+C:/WINNT/NOTEPAD.EXE<br><br> 下面的函数ExtractAppendExe从MYSHELL.EXE中拷贝出NOTEPAD.EXE存为C:/MYTEMP.EXE,<br>需要运行时执行<br> WinExec(PChar(ExtractAppendExe), SW_SHOW);<br>即可。<br><br>function ExtractAppendExe:string;<br>const<br> StartPos=60928;//这是编译出来的EXE的实际尺寸,先随便写一个数字,编译一次,<br> //查看EXE,获得实际尺寸填到这里,再编译一次即可 <br> TempExeFileName='C:/MYTEMP.EXE';<br>//实际应用时,这些参数是通过配置信息获得,这里简化了<br>var<br> ExeS,TempS:TFileStream;<br>begin<br> Result:='';<br> ExeS:=TFileStream.Create(ParamStr(0),FModeForRead);<br> try<br> TempS:=TFileStream.Create(TempExeFileName,fmCreate);<br> try<br> ExeS.Position:=StartPos;<br> TempS.CopyFrom(ExeS,ExeS.Size-StartPos);<br> Result:=TempExeFileName;<br> finally<br> TempS.Free;<br> end;<br> finally<br> ExeS.Free;<br> end;<br>end;<br><br>