将DLL作为exe启动

时间:2012-01-27 20:52:26

标签: c++ windows dll exe

是否可以将本机(C ++)DLL加载为可执行文件? 是否可以直接从内存中直接在硬盘驱动器上创建EXE或类似的东西?

4 个答案:

答案 0 :(得分:4)

Microsoft提供Rundll32.exe,可用于执行已明确编码以支持此用法的DLL函数。

答案 1 :(得分:3)

具体来说,这意味着什么?例如,它在DLL中使用什么入口点?

实际工作的唯一方法是,如果专门编写DLL以允许它。如果是这种情况,那么你不清楚为什么不首先创建一个可执行文件而不是DLL。

一点是RunDLL32.exe存根。它被设计为从DLL with a specific signature执行函数作为入口点。如果DLL没有专门设计为符合此签名,那么things don't go well。如果您需要这样的功能,您可能需要考虑匹配RunDLL32.exe所需的函数签名并使用它来“执行”您的DLL。

答案 2 :(得分:2)

查找rundll32.exe。但你最好知道你在做什么。老实说,我不确定。

答案 3 :(得分:0)

您可以使用LoadLibrary WinAPI调用来加载DLL。