如何使用c++开发wps office插件

如何使用c++开发wps office插件

ID:27499615

大小:177.50 KB

页数:9页

时间:2018-12-04

如何使用c++开发wps office插件_第1页
如何使用c++开发wps office插件_第2页
如何使用c++开发wps office插件_第3页
如何使用c++开发wps office插件_第4页
如何使用c++开发wps office插件_第5页
资源描述:

《如何使用c++开发wps office插件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何使用C++开发WPSOffice插件WPSOffice的插件由一个实现了特定接口的DLL、一个XML配置文件以及插件本身需要的其他文件组成。WPSOffice插件DLL实际上是一个实现了_IDTExtensibility2接口的COM组件。1._IDTExtensibility2插件DLL要导出COM要求的DllCanUnloadNow、DllGetClassObject、DllRegisterServer和DllUnregisterServer四个函数,并实现_IDTExtensibility2接口

2、。_IDTExtensibility2接口的定义在KingsoftAdd-InDesigner类型库中,导入ksaddndr.dll就可以使用这个接口。#import"C:ProgramFilesKingsoftWPSOfficePersonaloffice6ksaddndr.dll"named_guids,raw_interfaces_onlyinterface_IDTExtensibility2:IDispatch{virtualHRESULT__stdcallOnConnection(/*

3、[in]*/IDispatch*Application,/*[in]*/enumext_ConnectModeConnectMode,/*[in]*/IDispatch*AddInInst,/*[in]*/SAFEARRAY**custom)=0;virtualHRESULT__stdcallOnDisconnection(/*[in]*/enumext_DisconnectModeRemoveMode,/*[in]*/SAFEARRAY**custom)=0;virtualHRESULT__stdcal

4、lOnAddInsUpdate(/*[in]*/SAFEARRAY**custom)=0;virtualHRESULT__stdcallOnStartupComplete(/*[in]*/SAFEARRAY**custom)=0;virtualHRESULT__stdcallOnBeginShutdown(/*[in]*/SAFEARRAY**custom)=0;};插件安装时,WPSOffice会将插件DLL注册(DllRegisterServer)到系统中。WPSOffice启动时,将通过插件平台(管

5、理插件的模块)加载插件。插件平台通过COM方式创建一个_IDTExtensibility2对象,然后调用_IDTExtensibility2.OnConnection。插件可以在OnConnection中做一些初始化操作,如添加菜单项、工具栏按钮等。OnConnection之后,OnStartupComplete将被调用,至此插件加载完成。WPS关闭时,插件平台先后调用OnBeginShutdown和OnDisconnection。目前,WPSOffice插件平台不会调用插件的_IDTExtensibil

6、ity2.OnAddInsUpdate方法。插件实现一个空的OnAddInsUpdate就可以了,即直接返回S_OK,应避免在其中编写其他代码,以免将来引起兼容问题。1._IDTExtensibility2.OnConnectionvirtualHRESULT__stdcallOnConnection(/*[in]*/IDispatch*Application,/*[in]*/enumext_ConnectModeConnectMode,/*[in]*/IDispatch*AddInInst,/*[in]

7、*/SAFEARRAY**custom);OnConnection方法一共带有4个参数。第一个参数Application是宿主程序对象;第二个参数是ext_ConnectMode类型的枚举值;第三个和第四个参数目前没有使用,插件实现OnConnection时必须忽略这两个参数。ext_ConnectMode定义了4个常量值,如下所示。enumext_ConnectMode{ext_cm_AfterStartup=0,ext_cm_Startup=1,ext_cm_External=2,ext_cm_Com

8、mandLine=3};其中,ext_cm_Startup和ext_cm_AfterStartup是插件平台加载COM插件时传入OnConnection的。ext_cm_External和ext_cm_CommandLine目前没有用到。a.ext_cm_StartupWPS启动时,插件平台会立即加载COM插件,调用OnConnection(Application,ext_cm_Startup)。b.ext_cm_AfterS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。