首页 > 代码库 > VC++ 模块与资源分离
VC++ 模块与资源分离
在一些开发过程中,需要模块支持中英文语言切换,比较好的实现方式是从模块中将资源分离出来,做成中英文两个资源dll,根据需要加载不同的dll从而实现切换不同的语言显示。
新建一个资源dll文件,选择Win32 Console Application
工程建好后,在工程中新建一个cpp文件,输入以下代码:
1 #include <Windows.h> 2 extern BOOL WINAPI DllMain(HANDLE _HDllHandle, DWORD _Reason, LPVOID _Reserved) 3 { 4 return TRUE; 5 }
然后切换到资源选项卡,新建所需要的资源即可,最后编译生成一个语言版本的资源dll文件。
模块加载资源dll:
一般在模块的入口(main 或Initinstance)中选择加载,示例代码如下:
1 CString strResDllPath = GetResDllPath(eLangType); 2 HINSTANCE m_hInst = ::LoadLibrary(strResDllPath); 3 if (m_hInst) 4 { 5 AfxSetResourceHandle(m_hInst); 6 }
模块析构时,添加释放资源代码:
1 if (m_hInst) 2 { 3 FreeLibrary(m_hInst); 4 }
VC++ 模块与资源分离
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。