原理:
把需要包含的exe放入到进资源文件中,和原来的程序一起编译成一个exe文件,在程序第一次运行时释放出这个exe,然后调用这个exe文件。
步骤:
1、创建rc文件。可以用任意文本编辑器来写。文件格式为:"资源名 资源类型 文件名"。
对于资源类型,如果是exe文件,应该是EXEFILE,如果是二进制文件,则是RCDATA。
这里创建一个文件float.rc:
代码
1
AEXE EXEFILE "E:\Software\float.exe"

2、将这个rc文件转换成res文件。
复制float.rc到DELPHI安装目录里的bin文件夹, 执行brcc32 float.rc,生成float.res
3、将这个res文件包含至工程文件中。
代码
1
{$R float.res}

4、提取RES中的float.EXE。

1
procedure TFormMain.IEEE7541Click(Sender: TObject);
2
3
var
4
t : TResourceStream;
5
begin
6
7
if FileExists('float.exe') then
8
WinExec('float.exe',Sw_normal)
9
else
10
begin
11
try
12
t := TResourceStream.Create(HInstance,'AEXE','EXEFILE'); //其中HInstance为一个句柄常量;rwww为资源名;exefile为资源类型
13
t.SaveToFile('float.exe');
14
finally
15
t.free;
16
end;
17
WinExec('float.exe',Sw_normal);
18
end;
19
end;

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

这样,就可以在一个exe文件中,调用另外一个exe程序了。