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