码迷,mamicode.com
首页 > 编程语言 > 详细

VC++ 模块与资源分离

时间:2016-11-09 11:51:44      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:win32   com   blog   工程   res   tin   adl   span   新建   

  在一些开发过程中,需要模块支持中英文语言切换,比较好的实现方式是从模块中将资源分离出来,做成中英文两个资源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++ 模块与资源分离

标签:win32   com   blog   工程   res   tin   adl   span   新建   

原文地址:http://www.cnblogs.com/MakeView660/p/6045949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!