Quelques lignes pour remettre sous forme de fichier une ressource préalablement incorporée.
Par exemple, via le fichier RC :
42 RCDATA "../release/fichier.dll"
Puis ce bout de code :
bool RSCRCtoFile(DWORD id, const wchar_t * file) { bool reussite = false; if(HRSRC maRefRessource = FindResource(NULL, MAKEINTRESOURCE(id), RT_RCDATA)) { if(DWORD tailleRessource = SizeofResource(NULL, maRefRessource)) { if(HGLOBAL maRessource = LoadResource(NULL, maRefRessource)) { if(LPVOID ptrRessource = LockResource(maRessource)) { if(HANDLE hFile = CreateFile(file, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL)) { DWORD dwBytesWritten; reussite = WriteFile(hFile, ptrRessource, tailleRessource, &dwBytesWritten, NULL) != 0; CloseHandle(hFile); } } FreeResource(maRessource); } } } return reussite; }
Référence : http://msdn.microsoft.com/library/ff468901.aspx