一个大家感兴趣的问题
将一个exe文件作为资源文件加入自己的程序里
请问在自己的程序怎样执行这个exe文件?
问题点数:20、回复次数:31Top
1 楼net1999(好人)回复于 2001-07-02 23:47:49 得分 0
当然是要将其释放到WIDOWS的一个比如临时文件夹中再运行了。Top
2 楼leebons(李)回复于 2001-07-03 12:04:37 得分 0
具体怎样do?Top
3 楼leebons(李)回复于 2001-07-03 13:17:16 得分 0
我还可以加分Top
4 楼ghz2000(编程马大哈)回复于 2001-07-03 13:36:46 得分 0
winexecTop
5 楼kuangning(郎之间)回复于 2001-07-03 13:43:11 得分 10
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);//得到exe
Res.Free;
end;
再用winexec 来调用ResNewNameTop
6 楼leebons(李)回复于 2001-07-03 14:17:28 得分 0
好我试一下Top
7 楼InsideDelphi(ID)回复于 2001-07-03 14:21:43 得分 0
function GetTempFileName:String;
var
TempPath:array[0..MAX_PATH] of Char;
TempFile:array[0..MAX_PATH] of char;
begin
GetTempPath(MAX_PATH,TempPath);
GetTempFileName(TempPath,PChar('Sys'),0,TempFile);{here 'Sys' can be replaced with your own prehead}
Result:=TempFile;
end;
Top
8 楼leebons(李)回复于 2001-07-03 16:00:03 得分 0
to kuangning:
为什么我调用此过程说找不到资源名为某某
我是这样建立资源文件的:
1:在记事本里输入如下内容:
exe1 exe preload fixed pure "C:\PWIN98SE\Desktop\lee.exe"
然后保存为foo.rc
再用d:\brcc32 C:\PWIN98SE\Desktop\foo.rc生成foo.res文件
可是我调用extractres('exe','exe1','C:\PWIN98SE\Desktop\leebons.exe')时
却提示‘resource exe1 not found’
why?Top
9 楼leebons(李)回复于 2001-07-03 17:13:30 得分 0
to kuangning:
你试过吗?Top
10 楼leebons(李)回复于 2001-07-03 18:02:08 得分 0
附加功能:问题提前Top
11 楼delphi6fans(立志于考研)回复于 2001-07-03 22:04:02 得分 0
upTop
12 楼delphi6fans(立志于考研)回复于 2001-07-04 09:08:52 得分 0
怎么没有人说话啊?
我好急哦Top
13 楼leebons(李)回复于 2001-07-04 11:34:36 得分 0
upTop
14 楼leebons(李)回复于 2001-07-04 21:16:13 得分 0
upTop
15 楼whatname()回复于 2001-07-04 22:11:25 得分 0
winexecTop
16 楼weenyboy(也许是偶老婆)回复于 2001-07-05 00:21:31 得分 0
真是另类需求
资源文件一般是来保存数据而不是代码的, exe读到内存里面操作系统会对它进行地址定位的,不是简单的将代码读入就可以运行的,所以你这个想法虽然不错,但没有捷径可以搞定
你在执行程序中将该资源写如一个临时exe文件, 然后执行它, 然后删除它, 否则会很麻烦的Top
17 楼PoolD(池龙)回复于 2001-07-05 00:28:21 得分 0
不会是想搞木马吧……Top
18 楼delphi6fans(立志于考研)回复于 2001-07-05 12:48:56 得分 0
好像很难Top
19 楼delphi6fans(立志于考研)回复于 2001-07-05 19:18:03 得分 0
难得真的不行?Top
20 楼delphi6fans(立志于考研)回复于 2001-07-14 15:27:31 得分 0
upTop
21 楼amartapple()回复于 2001-07-14 15:46:45 得分 0
市上有DELPHI资源大全(2CD)35元,上面有两段例程。Top
22 楼xiangti(四海为家)回复于 2001-07-14 18:27:01 得分 0
在uses中加入shellapi
在触发事件中加入shellexcu(application.handle,'可执行文件地址‘’‘’);便可以了Top
23 楼dana(dana)回复于 2001-07-14 19:43:13 得分 0
上面的已说对了。Top
24 楼delphi6fans(立志于考研)回复于 2001-07-14 19:56:47 得分 0
to xiangti:
可执行文件地址怎么得到啊?
能否详细说明一个,如果分数不够的话我还可以加分啊。Top
25 楼leebons(李)回复于 2001-07-14 21:56:25 得分 0
upTop
26 楼rongercao(草哥)回复于 2001-07-14 23:41:25 得分 0
在uses中加入shellapi
然后加入以下代码:
shellexecute(handle,'open','打开的文件','','',sw_shownormal);Top
27 楼delphi6fans(立志于考研)回复于 2001-07-15 10:52:47 得分 0
你们有谁真正试过?有谁真正成功过?Top
28 楼delphi6fans(立志于考研)回复于 2001-07-15 15:10:34 得分 0
upTop
29 楼delphi6fans(立志于考研)回复于 2001-07-15 15:11:55 得分 10
upTop
30 楼leebons(李)回复于 2001-07-15 18:42:52 得分 0
问题已经解决了Top
31 楼stardreamsx()回复于 2001-07-16 01:53:50 得分 0
gzTop




