VC++使用纯资源Dll

纯资源 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);


 最终效果如下:

 

 代码下载

 

posted @ 2010-02-03 22:44  陈 锋  阅读(4043)  评论(0编辑  收藏  举报