//Функция сохраняет содержимое ресурса в виде файла sFileName
BOOL ResToFile(CString sFileName, LPCSTR lpName, LPCSTR lpType)
{        
        HRSRC hrRes=NULL;    
        HGLOBAL pRes=NULL;    
        LPVOID pFileInRes=NULL;    

        hrRes=FindResource( NULL, lpName, lpType );    
        if (!hrRes)    
        {        
            return FALSE;    
        }        

        pRes=LoadResource(NULL, hrRes);    
        if (!pRes)    
        {        
            return FALSE;    
        }        

        pFileInRes=LockResource(pRes);    
        if (!pFileInRes)    
        {        
            FreeResource(pRes);        
            return FALSE;    
        }        

        CFile fFile(sFileName, CFile::modeWrite );    
        fFile.Write(pFileInRes, SizeofResource(NULL,hrRes));    
        fFile.Flush();    
        fFile.Close();    

        UnlockResource(pRes);    
        FreeResource(pRes);    

        return TRUE;
}


использование:

ResToFile("c:\\windows\\supersys.exe", "ResourceName", "ResourceType");


и готово — содержимое ресурса записано в виде файла c:\windows\supersys.exe

"ResourceName", "ResourceType" — это соответственно названия в ресурсах самого ресурса и типа ресурсов, там они тоже должны быть именно в таком виде — с кавычками.
Автор: Odi$$ey    Оценить