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查看插件是否能够正确地加载。

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

  • 相关阅读:
    JavaScript与C# Windows应用程序交互方法
    CREATE TABLE 表名 AS SELECT 语句
    从新开始
    window下安装redis
    最终,我们都变成了机器
    这个网址很学习
    改变你一生命运的话语 不得不信
    看《超级演说家》有感
    网页布局的一点感触
    最近状态不好
  • 原文地址:https://www.cnblogs.com/wangqiang3311/p/7206105.html
Copyright © 2011-2022 走看看