zoukankan      html  css  js  c++  java
  • c#开发wps插件(2)

        上一篇,我们谈了插件开发原理,现在该是应用原理的时候了。工欲善其事必先利其器,首先安装wps 2016专业版,然后再开发。

        第一步:打开vs2010,新建一个类库项目,项目结构如下:

       

    说明:其中Resource1.resx是资源文件,它包括了两张png图片一个定义ribbon的txt文件。

     第二步:项目生成设置

    勾选com互操作注册。

    第三步:设置程序集文件

    打开AssemblyInfo.cs设置ComVisible为true,如图所示:

    第四步:为程序集签名

    第五步:准备工作做好了,现在可以安心写代码了。

    添加com引用:

         

    kingsoft Add-In Design中定义了com组件要实现的接口。

    Upgrade Kingsoft Wps 3.0 公布了wps word  api。

    我们再看看WPSWord2016.cs中的核心代码:

     1         public void OnConnection(object Application, ext_ConnectMode ConnectMode, object AddInInst, ref Array custom)
     2         {
     3             app = Application;
     4             Console.WriteLine("插件已连接");
     5         }
     6         public void OnStartupComplete(ref Array custom)
     7         {
     8             Process[] processes = Process.GetProcesses();
     9             foreach (Process process in processes)
    10             {
    11                 if (process.ProcessName.ToLower() == "wps")
    12                 {
    13                     Console.WriteLine(process.ProcessName + "进程已启动");
    14 
    15                     wpsapp = app as Word.Application;
    16                     wpsapp.DocumentBeforeClose += new ApplicationEvents4_DocumentBeforeCloseEventHandler(wpsapp_DocumentBeforeClose);
    17 
    18                     break;
    19                 }
    20             }
    21         }
    22         void wpsapp_DocumentBeforeClose(Document Doc, ref bool Cancel)
    23         {
    24             Console.WriteLine(Doc.FullName + "wps文档将要关闭");
    25         }
    OnConnection的参数 Application代表了我们的应用程序,如果我们开发的是word,则代表Word.Application。
    OnStartupComplete中,可以实现Application的文档相关事件,比如 DocumentBeforeClose。

     第六步:生成解决方案。

     com组件必须注册到注册表中,才能够使用。由于第二步的项目设置,所以这一步微软帮我们做了,接下来把插件信息写入到注册表中:

    1 Windows Registry Editor Version 5.00
    2 [HKEY_CURRENT_USERSOFTWAREMicrosoftOfficeWordAddinsWpsWordAddin.WPSWord2016]
    3 "FriendlyName"="WpsWordAddin"
    4 "Description"="wps word示例"
    5 "LoadBehavior"=dword:00000003
    6 "CommandLineSafe"=dword:00000001
    7 [HKEY_CURRENT_USERSoftwareKingsoftOfficeWPSAddinsWL]
    8 "WpsWordAddin.WPSWord2016"=""

    第七步:打开wps word查看插件是否能够正确地加载。

    到这一步还不太清楚的话,可以下载源码

  • 相关阅读:
    Two strings CodeForces
    Dasha and Photos CodeForces
    Largest Beautiful Number CodeForces
    Timetable CodeForces
    Financiers Game CodeForces
    AC日记——整理药名 openjudge 1.7 15
    AC日记——大小写字母互换 openjudge 1.7 14
    AC日记——将字符串中的小写字母换成大写字母 openjudge 1.7 13
    AC日记——加密的病历单 openjudge 1.7 12
    AC日记——潜伏着 openjudge 1.7 11
  • 原文地址:https://www.cnblogs.com/wangqiang3311/p/7206105.html
Copyright © 2011-2022 走看看