您的位置:首页 > 其它

资源动态替换的详细步骤

2008-11-18 14:53 260 查看
一 在你的程序的资源中添加你需要的资源,这个用以产生 资源ID

二新建一个空的DLL工程

三 将你程序目录下的res文件夹,Resource.h文件, .aps文件,.rc文件拷贝到你刚才建的DLL工程下,并在DLL工程将Resource.h
和.rc文件添加进工程中

四:修改你需要修改的资源的值,然后编译出一个DLL,将这个DLL放进你的程序的DEBUG目录下,其他目录也可以

五在一个你的程序初始化的时候,使用下面的代码去替换资源,这个步骤可以在类的初始化的时候进行一次,以后就不用再替换:
HINSTANCE Res;
HINSTANCE ResourceDll;

ResourceDll = AfxLoadLibrary(_T("Res.dll"));
if (NULL == ResourceDll)
{
::MessageBox(NULL, _T("Failed to load dll"), NULL, MB_OK|MB_ICONERROR|MB_TOPMOST);
return 0;
}

//切换资源
m_hRes = AfxGetResourceHandle();
AfxSetResourceHandle(theApp.m_hInstance);
AfxSetResourceHandle(ResourceDll);

拷贝文件后,如果你打开资源,有时可能会出现“资源在另一个编辑器中打开"的错误,这个时候,你可以重新编译一次,然后再打开资源,如果还不行,把ncb和opt文件删除掉,再编译,这样应该能行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: