


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vc 设计思路及插件接口标准 VC+设计思路及插件接口标准目前,不少流行软件都提供有对外挂插件的支持功能,如Winamp、Realplay等等。 这些软件通过对插件技术的使用为日后的软件升级和功能扩展提供了相当的便利条件。 尤为重要的是,通过使用插件技术,使得对软件的功能扩展将不再完全受限于软件厂商,任何第三方开发商或是程序员个人只要遵循了软件提供的插件接口标准去开发插件就完全可以同主体软件有很好的兼容,从而使用户对应用程序进行个性化功能扩展成为了可能。 基于插件技术的以上诸多优势,本文下面将围绕插件的制作、应用程序对插件的支持等具体问题对其展开讨论。 步骤/方法1通常支持插件的应用程序多将外挂扩展插件集中放置于某个指定的目录下,程序执行时首先在此目录下搜寻是否有插件存在,如有则为插件将其插入到应用程序,应用程序在终止运行时负责将插件释放。 至于插件以何种形式提供则没有固定的规定,可以是独立的应用程序,也可以是动态链接库或是其他一些文件格式,不管插件具体以何种形式提供,都是以方便使用为目的。 本文即以使用较为灵活的动态链接库作为插件的提供形式,动态链接库通过外部导出函数为应用程序提供对插件功能的调用,应用程序在对动态链接库进行动态装载时也比较容易实现。 这里与以往对动态链接库的使用有所不同,通常的应用程序事先已经明确知道需要使用哪些动态链接库,动态链接库又提供有哪些函数等信息,而允许使用插件的应用程序在发布时则无法预知在软件发布后第三方开发商将会开发出多少插件、插件都提供有什么功能函数等。 因此这就需要在容许插件的应用程序和插件之间建立一种统一的接口标准并通过此接口标准完成对所有后期插件的管理。 在此,主程序和插件之间是通过一个标准的DLL导出函数来实现的,主要用于在主体程序内插件对象的创建2BOOL Plug_CreateObject(void*pobj)*pobj=new CPlugA;return*pobj!=NULL;其中类CPlugA是在动态链接库中由基类CPlugBase派生出来的,提供有插件的大部分主要功能,如插件图标的获取、插件提供的功能接口函数以及插件的释放等。 基类CPlugBase的结构如下class CPlugBasepublic:CPlugBase();virtual HICONGetIcon()=0;virtual voidInterface(int k)=0;virtual voidRelease()=0;考虑到主体程序无法预知待插入的插件数目,为管理插件对象方便,通过模板类CArray完成对各个插件对象的存储与管理,此模板类所管理的数组为PLUG_ST结构对象。 PLUG_ST结构记录了插件类提供的的CPlugBase型指针和作为插件载体的动态链接库的实例句柄,其具体定义如下typedef structCPlugBase*pObj;HINSTANCE hIns;PLUG_ST,*LPPLUG_ST;3另外,在程序界面上,每向应用程序添加一个新的插件,都应当在主程序的界面上增添与之相关联的按钮或菜单等,以便用户可以通过位于主程序界面上的按钮或菜单实现对插件内部功能函数的调用。 本文在此是通过向工具条增添按钮的方式来达到此目的的,按钮上的图标由插件提供,应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初入职场新人面试技巧与常见问题解答
- 20XX年度XX市社会保基金管理局信息系统运维服务项目采购需求
- 单韵母的教学课件
- 2025年水利工程管理专业初级考试要点回顾与热点预测题集
- 中式面点师教学课件
- 2025年特岗教师招聘考试美术学科模拟试题及答案
- 2025年新媒体运营师实战手册与模拟题集
- 2025年河南省平顶山市中考化学一模试卷
- 电信诈骗消防知识培训课件
- 2025年中小学教师招聘考试数学科目模拟题与解析
- 采气工技能操作题库
- 硫磺安全技术说明书MSDS
- 贵州省遵义市红花岗区小升初数学试卷
- 贵州省新型农村社会养老保险经办规程
- 高压氧治疗相关知识
- 外科学麻醉专题知识讲座培训课件
- 课程设计与评价
- 广东省中山市20222022学年下学期期末考试八年级英语试卷
- 霍尔电流传感器实训台课件
- 2023年国药控股股份有限公司招聘笔试题库及答案解析
- 石料场开采方案
评论
0/150
提交评论