【VB开源代码栏目提醒】:网学会员,鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“Visual C中纯资源DLL文件的编写 - 其它论文”一文,供大家参考学习!
Visual C中纯资源DLL文件的编写科学论坛 王冬梅 约1811字 摘要介绍Visual C中纯资源DLL文件的编写与调用实现了应用程序不同语言界面的支持和字符串数据的输出该方法方便可行实用性强。
关键词Visual C DLL 中图分类号TP3文献标识码B文章编号1002-6908200704201 一、引言 动态链接库Dynamic-Link Library简写为DLL是包含了一系列类、函数、变量或其他资源的库文件。
它不能单独运行只能由可执行文件或其他DLL文件调用。
在程序中使用DLL的优点是显著的1节省磁盘和内存空间提高程序执行效率。
DLL可以被多个程序同时调用我们可以把重复使用的功能模块做成DLL文件对于多任务的Windows操作系统来说这势必会节省磁盘空间和内存的开支。
3便于多语言开发模块化设计。
DLL的编制与具体的编程和编译器无关不同语言编定的程序可以共享一个DLL程序因而在编写比较复杂的软件时可由不同的程序员在不同的编程环境下分模块实现。
纯资源DLL就是只包含资源的DLL其资源可以是字符串、数组、图标、位图、声音、视频或对话框等。
二、用DLL实现程序的不同语言界面 如今许多
软件都支持不同语言的界面比如简体中文与繁体中文简体中文与英文等。
如果针对不同语言界面各写一套应用程序这显然是不现实的。
利用纯资源的DLL来实现此功能不失为一种简便有效的方法。
下面以在Visual C中编写支持简体中文与英文界面的程序为例讲述其实现过程。
一纯资源DLL文件的实现 首先按照简体中文界面完成程序的编写。
然后用向导中的Win32 DynamicLink Library建立一个空的DLL工程取名为ChnRsc。
将所完成的程序的所有资源包括.rc 、 .rc2 、.ico、.bmpResource.h等文件从
程序框架中删除并将其复制到DLL工程的目录下进而添加到DLL工程的程序框架中。
接下来对DLL工程作如下设置从Project菜单中选Settings选择Link选项在Project Options文本框中加入/noentry或者编写一初始化的 .cpp文件加入DLL工程中 include extern“C” BOOL WINAPI DLLMainHINSTANCE hinstanceDWORD dwReasonLPVOID Ip Void return TRUE 最后编译生成ChnRsc.dll。
按照同样的方法新建一空的DLL工程取名为EngRsc并将所有资源加入到该工程。
并将资源中所有简体中文翻译成英文最后编译生成EngRsc.dll。
二纯资源DLL文件的调用 将EngRsc.dll 和 ChnRsc.dll拷贝到应用程序目录或
系统目录下。
在主应用程序类中加入一受保护的HINSTANCE类型的成员变量 m_hDLL用来保存加载的DLL的句柄。
我们可以将用户选择的语言种类保存到
注册表或一初始化文件中程序启动时自动读取并加载相应的语言资源。
在initinstance函数中用如下
代码实现 if nLanguage 1//使用简体中文 m_hDLLLoadLibrary揅hnRsc.dll else m_hDLLLoadLibrary 揈ngRsc.dll if NULL m_hDLL returnFALSE else AfxSetResourceHandle m_Hdll 在应用程序退出时要释放加载的资源所以在ExitInstance中加入如下
代码ifm_hDLL FreeLibrary m_hDLL 这样我们的应用程序就可以支持简体中文和英文两种语言界面了。
三、用DLL输出数据资源 许多应用程序都会用到字符串、数组或声音、视频等资源。
如果把资源放入DLL中需要时由应用程序调用这样不但可以使主程序变得简洁高效而且DLL资源可由多个程序同时调用并且修改或更新资源时不需用对主程序作任何改动。
四、结束语 合理地使用纯资源DLL不仅可以方便地实现某些复杂的功能还能使应用程序更健壮。
笔者通过几个简单实例对纯资源DLL的编写与应用给予了讨论。
希望文中所述方法能起到抛砖引玉的作用使纯资源DLL的编程在软件开发中发挥更大的作用。
参考文献 1伍良生王新华Windows下的数据采集和A/D转换J计算机工程与
设计2002231146-47。
2周振红冯夏庭等
VB调用VC创建的Win32DLL函数J。
计算机工程2002284285-286。