求教在delphi中如何把一个exe做为res加入到dll中并在运行时生成exe文件执行

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:06:34
并且判断exe是否运行,是否存在,不存在就释放,没运行就运行。
只要回答这个问题的,积分全部给100分不够告诉我,我继续送。谢谢有心人了
.qq 425118687发我邮箱给出原代码,最好能直接编译通过的。

先说那个怎么把EXE做成.res,举个例子也就是把1.exe文件加到2.exe里。然后2.exe运行的时候,按你说的判断这个1.exe是否在运行,是否存在,不存在就释放,没运行就运行。(你应该是这个意思吧?)
你在编译2.exe的时候,在你源码的目录下新建建一个txt文件,里面写:
CrnExeFile RC_DATA 1.exe
然后把这个TXT文件改名为:比如1.rc,(这个1.exe文件要和这个1.rc文件在一起)。
然后把1.rc添加到工程中,点编译 就把这个1.exe文件加到了2.exe里。
生成,运行这个2.exe文件:
var
rs:TResourceStream;
begin
rs:=TResourceStream.Create(HInstance,'CrnExeFile','RC_DATA');
rs.SaveToFile('c:\1.exe');
rs.Free;
winexec('c:\1.exe',SW_SHOW);
end;

判断这个1.exe文件是否存在:
if fileexists('c:\1.exe') then
showmessage('文件存在') else
showmessage('文件不存在');

判断1.exe是否运行,最好的方法是判断他的进程是否存在:
在 uses 添加 TLHelp32;

function FindProcess(AFileName:string):boolean;
var
hSnapshot:THandle;
lppe:TProcessEntry32;
Found:Boolean;
begin
Result:=False;
hSnapshot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);<