在Delphi如何将exe文件加入到资源文件中,如何进行调用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Delphi如何将exe文件加入到资源文件中,如何进行调用?相关的知识,希望对你有一定的参考价值。

//加入资源:1.先在记事本里写(这里假设你的图片名为"a.exe",你可以改成别的什么文件名)

exe_client
RCDATA
".\a.exe"
再保存为名为
“newres.rc”文件2.
在Dos状态下,敲入(注意Brcc32命令的路径,如果你不知道路径你就“查找”一下,OK?):
brcc32
newres.rc
执行成功后,你就可以得到newres.res文件,它就是你编译的资源文件,知道了吧。3.在程序里调用:unit
Unit1;
interface
...
implementation
$R
*.DFM
//
add
this
line!
参考技术A //解开:名为"exe_client"的RT_RCDATA资源var
RS:
TResourceStream;
sTempPath:array
of
char;begin
gettemppath(sizeof(sTempPath),sTempPath);
//临时路径
try
RS
TResourceStream.Create(Hinstance,
'exe_client',
RT_RCDATA);
//RT_RCDATA表示任类型的数据
RS.SaveToFile(sTempPath
+
'A.exe');
except
end;
Winexec(pchar(gettemppath
+
'A.exe'),1);end;

怎样可以将DLL编译到EXE文件里

添加一个自定义资源类型,指向该文件即可。运行时可以利用资源管理函数把资源存到Windows的临时目录,文件名称越怪越好,不需要和原来的文件名一样。利用loadLibrary和GetProcAddress,调用函数,最后删除临时文件,毁尸灭迹。如果你熟悉DLL动态延迟加载,那将是再好不过。相关文章可以参考Windows Deveoper Magazine中 2002.7 这篇文章讲述了如何把DLL打包到一个EXE文件中,如何把它存到一个临时的不为人所知目录,如何动态延迟加载这个动态连接库(注意动态延迟加载用的是是静态连接,不需要调用loadLibrary和GetProcAddress函数,但在编译时需要指定编译选项你可以参考《Windows核心编程》参考关于DLL延迟加载的描述)。程序函数调用完毕程序退出前可以神不知鬼不觉地把文件删除。做到踏雪无痕。 参考技术A 回答

添加dll 右击工程,添加需要的dll,2.设置Build Action 然后,选中上面添加的dll,设置Build Action为“Embedded Resource”, 通过反射机制注册资源中的dll 接下来,我们编写反射机制的代码,将资源中的dll加载exe中,直接上代码,如下: staticclassLoadResourceDllstaticDictionaryDlls=newDictionary();staticDictionaryAssemblies=newDictionary();staticAssemblyAssemblyResolve(objectsender,ResolveEventArgsargs)//程序集Assemblyass;

以上是关于在Delphi如何将exe文件加入到资源文件中,如何进行调用?的主要内容,如果未能解决你的问题,请参考以下文章

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

delphi 如何把其他exe文件加入dll中,并调用

求教在delphi中,如何把两个exe做为res加入到另一个exe中,并在运行时释放两个exe

delphi 请问如何将bpl文件编译到exe文件中!!(紧急求救!!)

Pyinstaller如何将资源文件一起打包至exe中

Pyinstaller如何将资源文件一起打包至exe中