怎样可以将DLL编译到EXE文件里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样可以将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;
以上是关于怎样可以将DLL编译到EXE文件里的主要内容,如果未能解决你的问题,请参考以下文章