2010-08-09 28 views

回答

1

为什么有一个DLL在所有然后,如果你只是想将其嵌入的EXE里面?

[剪断,编辑]

所以,要做到这一点,你只需要到该DLL文件作为资源添加,并使用FindResource/LoadResource某处提取它。如果要加载DLL,则需要将其写入文件系统。这里有一个函数(C++),我在项目中使用它来从资源加载文本文件。您应该可以轻松修改此目的。请注意,这里没有错误检查;这只是为了向你展示基本的想法。

std::string LoadTextFileResource(HINSTANCE hInstance, LPCTSTR szResName, LPCTSTR szResType) 
{ 
    HRSRC hrsrc=FindResource(hInstance, szResName, szResType); 
    if(!hrsrc) return L""; 
    HGLOBAL hg1 = LoadResource(hInstance, hrsrc); 
    DWORD sz = SizeofResource(hInstance, hrsrc); 
    void* ptr1 = LockResource(hg1); 

    // assume the encoding is ASCII. 
    return std::string((const char*)ptr1, sz); 
} 
+0

看,我想举一个.exe文件到其他和 我必须使用其他应用程序,这就是为什么我要将.dll文件到我的.exe文件的.dll文件。 是否有任何其他方式,然后将.dll复制到临时目录? 没有副本我可以建立? – 2010-08-09 17:48:51