大家好:
纯资源的DLL就是只包含资源的DLL,例如:图标,位图,字符串,声音,视频,对话框等。
使用纯资源DLL可以节约可执行文件的大小,可以被所有的应用程序所共享,从而提高系统
性能。纯资源DLL的编写比普通的DLL要简单的多,首先创建一个WIN32 DLL工程,不是MFC
的DLL,然后创建一个资源文件 *.RC,添加到资源DLL的工程中去。然后添加一个初始化DLL的原文件。
#include <windows.h>
extern "C"
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID )
{
return 1;
}
这是纯资源DLL所必须需的代码,保存这个文件为*.CPP。编译这个资源DLL。
在应用程序显示的调用这个DLL,使用LoadLibrary函数装入资源DLL,FindResource和LoadResource
来装入各种资源,或者使用下列的特定的资源装入函数:
FormatMessage
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadString
当资源使用结束,你的应用程序须调用FreeLibrary函数来释放资源。
下面就讲一下如何调用编写好的资源DLL
首先在应用程序中声明一个DLL的句柄,HINSTANCE m_hLibrary;在OnCreate( )函数中调用
LoadLirbrary( ),在OnDestory( )中调用FreeLibrary()。
具体方法如下:
1、VC6环境中:File->New->Project->Win32 Dynamic Link Library
2、选择an empty project.
3. 然后点Insert菜单的Resource插入资源,保存,会生成.rc和Resource.h把workspace
切换到文件视图,把这两个文件加入工程,看----Resource视图出来了吧。
4、完成后,在菜单Project->Settings->link中,选中Setting for的All configrations
;在common options中加入 /noentry,以便略过对DllMain的检查.
5、现在就是你的事情了,添加你自己的资源。不需要添加任何的代码。
6、编译。
Best Regards,
Kane
2007-09-05
--------------------------------------------------------------------------------
eMapGo Technology(BeiJing) Co.Ltd
Address: 4F,2 Building, No.8,Hai Ying Road,Feng Tai District,BeiJing
PostCode: 100070 P.R.C
Tel: (010)63711098-8063
Email: KaneZ@eMapGo.com.cn
WebSite: http://www.eMapGo.com.cn
--------------------------------------------------------------------------------