2010-08-09 41 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