C
Welche Fehlerinformation erhälst Du durch GetLastError()?
Oder -falls Du möchtest- nimm einfach die Funktion ('ExtractReSrcFile') :
#include <iostream>
#include <windows.h>
#include <conio.h>
#include "resource.h"
bool ExtractReSrcFile(const TCHAR*,WORD,const TCHAR*,HINSTANCE);
int main()
{
ExtractReSrcFile(TEXT("IMAGE"), BMP_DEMO, TEXT("C:\\demo.bmp"));
while(!kbhit());
return (0);
}
bool ExtractReSrcFile(const TCHAR* pszType, WORD wReSrcID, const TCHAR* pszLocation, HINSTANCE hInst = GetModuleHandle(NULL))
{
if(pszType == NULL || pszLocation == NULL)
return (false);
HRSRC hSrcFile = FindResource(hInst, MAKEINTRESOURCE(wReSrcID), pszType);
if(hSrcFile != NULL)
{
HGLOBAL hSrcFileLoad = LoadResource(hInst, hSrcFile);
void* pvSrcFileData = LockResource(hSrcFileLoad);
size_t stSrcFileSize = SizeofResource(hInst, hSrcFile);
HANDLE hReSrcFile = CreateFile(pszLocation, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hReSrcFile == INVALID_HANDLE_VALUE)
return (false);
WriteFile(hReSrcFile, pvSrcFileData, stSrcFileSize, NULL, NULL);
CloseHandle(hReSrcFile);
return (true);
}
return (false);
}