VC++使用纯资源Dll
2010-02-03 22:44
218 查看
纯资源 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));
SetDlgItemText(IDC_STATIC,buffer);
HBITMAP hBitmap = LoadBitmap(hModule,MAKEINTRESOURCE(2001));
if (hBitmap == NULL)
{
MessageBox("加载图片资源失败!");
return true;
}
((CStatic*)GetDlgItem(IDC_STATIC_BITMAP))->SetBitmap(hBitmap);
FreeLibrary(hModule);
最终效果如下:
![](http://images.cnblogs.com/cnblogs_com/hb_cattle/%E6%9C%80%E7%BB%88%E7%BB%93%E6%9E%9C.png)
代码下载
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));
SetDlgItemText(IDC_STATIC,buffer);
HBITMAP hBitmap = LoadBitmap(hModule,MAKEINTRESOURCE(2001));
if (hBitmap == NULL)
{
MessageBox("加载图片资源失败!");
return true;
}
((CStatic*)GetDlgItem(IDC_STATIC_BITMAP))->SetBitmap(hBitmap);
FreeLibrary(hModule);
最终效果如下:
![](http://images.cnblogs.com/cnblogs_com/hb_cattle/%E6%9C%80%E7%BB%88%E7%BB%93%E6%9E%9C.png)
代码下载
相关文章推荐
- 7.VC(custom)-解决DLL和主调程序的资源冲突及如何使用Dll的资源
- 使用vc封装纯资源dll及调用
- 向自己的模块添加错误代码_使用vc自带的工具MC创建资源并将其添加至DLL或EXE中
- VC中使用纯资源dll实现多语言版本(转)
- VC中使用纯资源dll实现多语言版本
- 使用VC下的cl和link手工创建dll并实现函数导入
- vc2010创建dll和使用
- jar包、dll使用资源汇集
- 纯资源(.rc)DLL创建与使用
- VS2010上MFC项目出现 \VC\bin\rcdll.dll 无法找到资源编译器
- vc中将一个独立的dll(exe),作为资源加入资源文件中
- DLL在跨平台之间的使用中遇到的问题(以delphi中开发的dll,在vc中使用为例)
- 在DLL中使用资源(转)
- 使用VC++使用开发Web服务(ISAPI extension - mod_gsoap.dll) 4- mod_gSoap 调试
- VS中使用VC资源编辑器添加变量或事件处理程序出现脚本错误的解决办法
- VC中dll的生成及使用(本来这几天在QT中用DLL)
- 加载英文资源DLL时应该在主工程里面讲MFC的使用设置为:在共享DLL中使用MFC
- 在DLL中使用资源(一)
- VS2010 \VC\bin\rcdll.dll 无法找到资源编译器
- 在DLL中使用资源(二)