|
제가 봐도 상당히 야리꾸리한 구조입니다만.. 리소스 타입에 DLL이 없어서 확장자를 WAV로 한 다음, 꺼낼때 DLL로 저장하는 방식으로 했거든요.. -.- 아래에 있는 여러가지 글을 보고 베꼈습니다만...
자꾸 lpRes = new TResourceStream((int)HInstance, pResName, (char *)&pResType); 부분에서
"Resource ID_ZIP not found." 에러가 뜹니다...
어떻게 고치면 되는지 답변 부탁드립니다..
// 추출하는 소스 라인
ExtractRes(RT_RCDATA, "ID_ZIP", "ZIPDLL.DLL");
ExtractRes(RT_RCDATA, "ID_UNZIP", "UNZDLL.DLL");
// 리소스 파일을 밖으로 꺼낸다.
void ExtractRes(char *pResType, char *pResName, char *pResNewName)
{
TResourceStream *lpRes;
lpRes = new TResourceStream((int)HInstance, pResName, (char *)&pResType); // 이 부분에서 에러..
lpRes->SaveToFile(pResNewName);
lpRes->Free();
}
// DLL.rc ------------------------------------
#include "Dll.rh"
ID_ZIP WAVE "ZIPDLL.WAV"
ID_UNZIP WAVE "UNZDLL.WAV"
// DLL.rh -------------------------------------
#ifndef DllRH
#define DllRH
#define ID_ZIP 100
#define ID_UNZIP 101
#endif
|