【问题标题】:Window Form, Outlook Addin窗口窗体,Outlook 插件
【发布时间】:2015-09-08 12:27:44
【问题描述】:

我正在开发 Outlook 插件 2010。 Outlook 添加事件在调用上下文菜单附件项后不起作用。 我在 Outlook 插件中使用 FMUtils.KeyboardHook 创建了一个键盘快捷键。 它工作正常,但是当我单击上下文菜单附件中的自定义项时,它会打开我各自的窗口窗体,但在我的 Outlook 插件事件不起作用之后。 键盘快捷键事件未触发。

 private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
 var KeyboardHook = new Hook("Global Action Hook");
 KeyboardHook.KeyDownEvent += KeyDown;
}

      public void KeyDown(KeyboardHookEventArgs e)
     { 
           if (e.isCtrlPressed && e.isAltPressed && e.Key == Keys.D)
          {
           //process code
          }
     }

请帮我解决这个问题。

【问题讨论】:

    标签: winforms outlook-addin


    【解决方案1】:

    您需要在全局范围内定义事件源对象,以防止它被垃圾收集器刷掉。例如:

    Hook KeyboardHook = null;
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
       KeyboardHook = new Hook("Global Action Hook");
       KeyboardHook.KeyDownEvent += KeyDown;
    }
    

    因此,当加载项运行时,对象将一直处于活动状态。

    【讨论】:

    • 非常感谢 Eugene Astafiev,它对我很有帮助
    猜你喜欢
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 2017-12-28
    相关资源
    最近更新 更多