MFC dll 与 exe调用 Recources的区别

今天搞了一个上午,在EXE中能运行的,但在生成DLL调用后出错

在EXE中:

FindResource(0,MAKEINTRESOURCE(IDR_SYS1),"SYS");

DWORD dwWritten,dwSize=SizeofResource(NULL,hr);

LoadResource(NULL,hr);

 

句柄都指向NULL,指向默认的当前EXE,所以在EXE 调用DLL函数时,也指向EXE,但资源是放在DLL中的

所以句柄要指向DLL

 

 HINSTANCE HI = GetModuleHandle("a.dll");DLL名称

 

FindResource(HI,MAKEINTRESOURCE(IDR_SYS1),"SYS");

DWORD dwWritten,dwSize=SizeofResource(HI,hr);

LoadResource(HI,hr);