bool MakeResourceFromDll(string szExPathName, CString szResName, int nResID)
{
HRSRC hSrc = FindResource(NULL,MAKEINTRESOURCE(nResID),szResName);
if(hSrc == NULL) return false;
HGLOBAL hGlobal = LoadResource(NULL,hSrc);
if(hGlobal == NULL) return false;
LPVOID lp = LockResource(hGlobal);
DWORD dwSize = SizeofResource(NULL,hSrc);
ofstream ofs;
ofs.open(szExPathName,ios::binary|ios::out|ios::trunc);
if(ofs.is_open())
{
ofs.write((char*)lp,dwSize);
ofs.close();
}
else
{
assert(0);
}
FreeResource(hGlobal);
return true;
{
HRSRC hSrc = FindResource(NULL,MAKEINTRESOURCE(nResID),szResName);
if(hSrc == NULL) return false;
HGLOBAL hGlobal = LoadResource(NULL,hSrc);
if(hGlobal == NULL) return false;
LPVOID lp = LockResource(hGlobal);
DWORD dwSize = SizeofResource(NULL,hSrc);
ofstream ofs;
ofs.open(szExPathName,ios::binary|ios::out|ios::trunc);
if(ofs.is_open())
{
ofs.write((char*)lp,dwSize);
ofs.close();
}
else
{
assert(0);
}
FreeResource(hGlobal);
return true;
}