VC++使用纯资源Dll

本文介绍如何在Visual Studio 2005中创建并使用纯资源DLL来实现资源共享,包括字符串和图片资源的加载及显示。通过设置项目属性避免链接器加入_main入口点,并演示了在测试项目中加载这些资源的具体步骤。
摘要由CSDN通过智能技术生成

纯资源 DLL 是仅包含资源(如图标、位图、字符串和对话框)的 DLL。使用纯资源 DLL 是在多个程序之间共享同一组资源的好方法。这种方法也经常用来解决多国语言问题。下面就来介绍下在vs 2005 下如何使用纯资源Dll.

 

1、新建一个 MFC DLL 项目,设置为 创建规则Dll ,然后打开资源视图,添加一个字符串资源和一个图片资源。然后设置项目属性,

将 配置属性-链接器-高级下的 无入口点选项设为 是(/NOENTRY)  , 防止链接器将 _main 引用链接到 DLL 中;此选项是创建纯资源 DLL 所必需的。最后编译项目。

2、再建一个测试项目,把前面 编译的dll拷到项目目录(或将前面的项目添加为引用,这样每次修改了资源dll,不用拷贝)。

代码如下:

 1  HMODULE hModule  =  LoadLibrary( " ResourceDll.dll " );
 2       if  (hModule  ==  NULL)
 3      {
 4          MessageBox( " 加载资源文件失败! " );
 5           return   true ;
 6      }
 7       char  buffer[ 255 ];
 8      memset(buffer, 0 , sizeof (buffer));
 9      LoadString(hModule, 2000 ,buffer, sizeof (buffer));
10      SetDlgItemText(IDC_STATIC,buffer);
11      HBITMAP hBitmap  =  LoadBitmap(hModule,MAKEINTRESOURCE( 2001 ));
12 
13       if  (hBitmap  ==  NULL)
14      {
15        MessageBox( " 加载图片资源失败! " );
16           return   true ;
17      }
18      ((CStatic * )GetDlgItem(IDC_STATIC_BITMAP)) -> SetBitmap(hBitmap);
19      FreeLibrary(hModule);


 最终效果如下:

 

 代码下载

 

转载于:https://www.cnblogs.com/hb_cattle/archive/2010/02/03/1663059.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值