Something like this should work:
Code:
bool GetBinaryResource(int res_id, void **res)
{
*res = 0;
HMODULE hmod = GetModuleHandle(0);
HRSRC hr = FindResource(hmod, MAKEINTRESOURCE(res_id), RT_RCDATA);
if (!hr)
{
LogMessage(L"FindResource(%d) failed, le = %u", res_id, GetLastError());
return false;
}//if
DWORD hrsz = SizeofResource(hmod, hr);
if (!hrsz)
{
LogMessage(L"SizeofResource() failed, le = %u", GetLastError());
return false;
}//if
HGLOBAL hg = LoadResource(hmod, hr);
if (!hg)
{
LogMessage(L"LoadResource() failed, le = %u", GetLastError());
return false;
}//if
*res = LockResource(hg);
if (!*res)
{
LogMessage(L"LockResource() failed, le = %u", GetLastError());
return false;
}//if
return true;
}//GetBinaryResource
/*
In your RC file:
IDR_WAVE1 RCDATA DISCARDABLE "testing1.wav"
*/
gg