0
我有一個編譯並生成.dll文件的VC++項目。 我製作了一個使用上述vC++ .dll文件的應用程序。 我可以建立我的新的應用程序.exe和.dll靜態 我想只有一個.exe文件,其中包括.dll文件(靜態) 在Visual Studio中怎麼可能?我怎樣才能建立VC++ .dll文件(靜態)在我的.exe?
感謝, 尼爾
我有一個編譯並生成.dll文件的VC++項目。 我製作了一個使用上述vC++ .dll文件的應用程序。 我可以建立我的新的應用程序.exe和.dll靜態 我想只有一個.exe文件,其中包括.dll文件(靜態) 在Visual Studio中怎麼可能?我怎樣才能建立VC++ .dll文件(靜態)在我的.exe?
感謝, 尼爾
爲什麼有一個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);
}
看,我想舉一個.exe文件到其他和 我必須使用其他應用程序,這就是爲什麼我要將.dll文件到我的.exe文件的.dll文件。 是否有任何其他方式,然後將.dll複製到臨時目錄? 沒有副本我可以建立? – 2010-08-09 17:48:51