窗口窗体,Outlook Addin

时间:2015-09-08 12:27:45

标签: winforms outlook-addin

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

 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
          }
     }

请帮我解决此问题。

1 个答案:

答案 0 :(得分:0)

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

Hook KeyboardHook = null;

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

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