红花还需绿叶衬无处不在的插件(1)

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:apple2008zxffxz
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  上一期我们结束了网站推广的话题,本期开始将为大家介绍插件开发。什么是插件?这其实就是为主体软件(如Office)提供附加功能的一种特殊程序。它有点像N合1螺丝刀,无论是需要一字的还是十字的,只要挑一个合适的螺丝刀头(插件)替换即可,螺丝刀本身(主体软件)则不用改动。
  软件的这一机制,不经意间催生出一个庞大的插件市场。本系列中,我们就来为大家介绍三大领域近十类(包括办公软件、浏览器、网站等)最常用的插件开发流程,另外还会深入插件市场探寻它的“钱途”。本系列开篇,特邀金山软件Office插件开发大赛金奖得主与大家共享经验。
  
  【芝麻开门】插件开发前的准备
  
  现在让我们通过一个简单的例子,看看标准的插件开发流程。插件开发前,先要做一些准备工作。
  第一步:选择开发平台
  首先要确定插件开发的软件平台。今天介绍的插件基于金山公司的WPS Office平台,所以要先安装WPS Office(http://www.wps.cn)。相关插件开发资料,可以到http://bbs.wps.cn/thread-21864974-1-1.html下载。对于其他软件的插件开发,道理是一样的,也要安装相应软件并获取开发资料。
  第二步:确定开发语言
  接下来确定开发语言。尽量使用常见的且自己熟悉的开发工具,如VC++、VB、Java等。本文我选择的是C++ Builder 2007。
  第三步:导入插件接口
  导入相应的插件接口(由开发资料获悉)。启动C++ Builder,点击菜单“Component→Import Component”打开向导,选择“VCL for C++ Win32→Next→Import a Type Library”,继续下一步,找到以“Kingsoft”开头的五个类型库(见图1)。分别按向导提示导入,生成相应类型库的接口文件即可。
  接下来点击菜单“File→New→Package-C++Builder”新建包项目,再点击菜单“Project→Add to project”添加前面生成并保存的所有文件(见图2)。然后保存当前工程为wps.cbproj并按Shift+F9键编译(如果有警告信息不用理会)。最后再点击菜单“Component→Install Packages”,导入刚刚才生成的包文件WPS.BPL即可。
  
  【任务实战】编写自己的插件
  
  接下来实战制作一个简单的插件。该插件的功能是:在WPS文字处理软件中添加一个工具条,上面有一个按钮,单击该按钮将在当前文档中自动插入“Hello world!”(句子可自定义)。
  第一步:创建新插件项目
  在C++ Builder中,点击菜单“File→New→Other”,选择“C++ Builder Projects→ActiveX”目录中的“ActiveX Library”类型的工程并确定。然后再次打开这一窗口,会发现多出了好些类型(见图3),这里选择“Automation Object”并确定。
  在“New Automation Object”的“CoClass Name”中输入WpsAddinEXP1并确定。然后按Shift+Ctrl+S键保存Unit文件为Example_Main.cpp,保存工程文件为Example1.ccbproj。点击菜单“Project→Options”,在“Paths and Defines”中,把包文件所在的路径(如$(BDS)\imports\)分别增加到Include Path和Library Path中,点击OK保存。
  第二步:编写代码
  接下来该编写代码了,本例代码稍微有点长,我已打包放到http://work.newhua.com/cfan/201006/Example1.rar,大家可以下载参考,这里不再详细列出。
  第三步:编译与配置插件
  代码完成后,按Ctrl+F9编译生成插件Example1.dll。不过工作并没完成,还需要一个配置文件来说明此插件,WPS Office插件的配置文件实际就是一个XML文件,它的文件名必须遵循“[addon-name].[app-name].[lang].xml”这样的格式。
  [addon-name]:插件模块的名称,必须和插件模块的文件名完全一致。如WpsAddonDemo.dll插件,[addon-name]为“WpsAddonDemo”。
  [app-name]:插件支持的WPS模块,包括:wps、et、wpp、kso,其中kso表示支持WPS Office的所有模块。
  [lang]:插件支持的语言版本,如1033、2052等。“0”表示支持所有语言。
  假如Example1.dll插件支持WPS Office的WPS模块、简体中文,那么它的配置文件名称为“Example1.wps.2052.xml”。
  配置文件中有一个重要的属性:ID。它是唯一标识这个插件的身份ID,需要与插件中的CLSID相一致,可以使用WPS开发工具中自带的ComClsid.exe来获得这个CLSID号:ComClsid.exe Example1.dll。本例得到的CLSID为{7E50F9C3-74E2-430A-858D-1B7263559D67}。填写好ID及其他相关属性后,保存配置文件到与Example1.dll同一个目录下就可以了。
  OK!一个完整的插件完成了。运行“WPS文字”,在菜单“工具→插件平台”中点击“安装本地插件”,选择刚才保存的XML配置文件。这时会弹出一个“插件兼容检查”失败的提示,不理它,直接点击“继续”即可。回到WPS主界面,就可以看到我们自己创建的工具栏和按钮了(见图4)。点击按钮,将自动在当前文档中输入“Hello world!”,虽然简单,还是很酷吧。
  
  开发趣话
  
  这次的金山WPS插件大赛中,有两位小选手引起许多人的好奇,他们就是初中生刘亦煊及高一学生张帅舸。奇就奇在他们互不相识,是通过网络跨省合作的,并且获得了奖项。
  问:你们是如何认识的?又是如何决定一起参加插件大赛的?
  刘亦煊:有一次我在网上征求一个VB的manifest文件,是雅鸽帮了我,并加了QQ好友,我们相互学习渐渐成了好朋友。后来偶然从其他好友处知道了这个大赛,于是我们抱着“重在参与”的心态联合参加了。
  问:这次的插件制作,有什么心得体会?
  刘亦煊:这次的插件制作过程中,雅鸽提了一个非常实用的意见:用户在使用插件时,主要是看一些图形化的数据,而不是数字。所以,我们增加了速度变化图形统计表的功能。我认为,做一个实用的插件,更要注意用户对其功能的需求。还有我明白了做什么事,都要肯动脑筋,付出艰辛的劳动,才会有收获。
其他文献
Q我使用“千千静听”播放器的音频转换功能将一个1MB不到的WMA格式的音频文件转换成MP3格式,但转换后体积却达到了8MB。请问这是什么原因?    A这主要是你在转换时没有设置音频文件的码率参数而导致的,在“千千静听”播放器的转换参数设置窗口中,只要将音频码率设置为128Kbps即可:将音频格式设置为MP3格式后,单击“配置”按钮,在打开的窗口中设置码率为128即可(见图1)。    傻博士有话
期刊
Q安装的是Windows 7与Windows XP的双系统,我把C盘格式化重新安装了一次系统,F盘是Windows 7,现在启动时找不到F盘里的系统了。请问这该如何解决?    A使用Windows 7安装光盘或安装优盘引导并修复安装一次系统,进入Windows 7系统后使用 http://www.onlinedown.net/soft/58174.htm可下载的EasyBCD软件将Windows
期刊
我国古代伟大的教育家孔子曾经说过:“知之者不如好之者,好之者不如乐之者”,生动形象地说明了兴趣在学习过程中的作用。在课堂教学中,培养学生的学习兴趣是提高教学质量,提高学习效率的重要手段之一。培养学生学习兴趣可从以下几个方面着手:  一、激情传达,诱发学生的学习兴趣  站在语文新课改旗帜下,语文教师应当怀着自己对于文学的虔诚和生活的热爱投入到语文教学之中,置身文本之中,亲身感悟,把我们思考的智慧和发
期刊
传统习作修改都是在老师的批阅指导下,学生按照老师的要求自主去修改。在这种情况下,习作修改存在几大问题。  第一,习作评议时间的滞后性。  传统习作评议在时间上有滞后性,从学生完成作文,到教师批改发下来,需要一段时间。学生当时的写作思路在等待的这段时间慢慢变淡,构思热情也慢慢消失。  第二,习作评议思路的局限性。  在老师“全批全改”“精批细改”的传统作文批改模式下,老师不仅把自己累得头晕眼花,还把
期刊
当前农村的初中生在思想品德教育当中,由于受到各种因素的影响,学校的思想品德课教育受到一定的冲击。初中生的思想品德,存在着多种多样的问题,这些问题直接影响着学校的教育、学生的人生观、价值观和社会的进步。  一、当前农村初中生思想品德存在的问题  (一)价值观、人生观模糊不清,社会公德意识、责任意识淡薄  农村对青少年学生的家庭教育不够重视, 这对青少年的身心健康是非常不利的, 而且农村中, 生产观念
期刊
等级分明的计算机王国    说到结束进程,我们最熟悉的就是某一个程序假死了,我们调出任务管理器,将此程序的进程关掉。这里我们就是用到了Windows任务管理器的进程管理功能。但有的时候我们发现有些进程无法使用任务管理器结束,原因到底是什么?先让我们了解下计算机内关于进程的知识。  计算机运行一个软件会创建一个或几个进程,运行的进程相当于一个容器包含了各种各样的资源,比如有些负责显示窗口,有些负责处
期刊
传统满堂灌的教学模式已经满足不了当代青少年的学习需要,填鸭式的教学方法已经不适应当今学生的学习方式。怎样才能把“要我学”变为“我要学”呢?我校从2009年就开始探索新的教学模式,2011年初中三个年级全面进行了改革,走出了一条以“先学后教,以学定教”的教学理念指下的“五段一清”课堂教学模式。本模式采取的评价方式激励着学生的成长,更加体现了学生探究科学的精神,物理学是以实验为主的科学,探究性实验最能
期刊
Q使用的是高清播放器M880,使用2.0音箱看DTS格式的电影时总会出现人声偏小的情况,看其他格式电影无此现象。请问有没有解决的办法?    ADTS电影具有多声道的音轨,在播放时可能会选择将各个音轨混合成2声道立体声信号,因为人声主要出现在前置音轨(前中、前左、前右),而电影中的大动态音效,比如爆炸声,会充斥所有音轨(5.1声道分,前中、前左、前右、后左、后右和低音音轨),在2.0音箱环境下人声
期刊
“吃、穿、住、用、行”不花一分钱,如今的试客可真的很火。当越来越多的人向“钱”看的时候,一小部分人却选择了一步到位,认“货”不认“钱”。试吃、试穿、试用、试玩、试驾,在试客的世界中,真是既尝鲜又省钱 ,而且还能品味着令人羡慕的时尚生活。  雅诗兰黛的纯净如风香水、兰蔻催眠睫毛膏、香奈儿的美白光彩面膜,作为教师的曹女士(见图1)已经试用了很多产品。从去年开始加入到试客队伍的曹女士,现在已经对做试客轻
期刊
果果:时间过得真快,3月27日2010年上半年全国计算机等级考试马上到来。近期本刊邀请教育部考试中心分别对2009下半年全国计算机等级考试的四级数据库工程师、四级网络工程师、二级C语言、二级VFP等进行了真题点评,本期再以报考人数较多的三级数据库重难点进行本系列真题点评收尾,希望给大家带来帮助,祝大家在考试中取得好成绩!    典型试题分析:    (12)在包含1000个元素的线性表中实现如下各
期刊