C# 阻止禁用outlook加载项

C# 阻止禁用outlook加载项,c#,vsto,outlook-addin,outlook-2010,C#,Vsto,Outlook Addin,Outlook 2010,我正在为outlook编写外接程序。我想在停用外接程序之前询问密码。如果密码不正确,则加载项不应处于非活动状态。当不活动外接程序时,它正在触发“ThisAddIn_Shutdown”事件,但我无法阻止不活动外接程序 这是我的代码: private void ThisAddIn_Shutdown(object sender, System.EventArgs e) { var frm = new FrmCheck(); var result = frm.Sh

我正在为outlook编写外接程序。我想在停用外接程序之前询问密码。如果密码不正确,则加载项不应处于非活动状态。当不活动外接程序时,它正在触发“ThisAddIn_Shutdown”事件,但我无法阻止不活动外接程序

这是我的代码:

 private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
 {
         var frm = new FrmCheck();
         var result = frm.ShowDialog();
          if (frm.Statu==WinStatu.Close && result == DialogResult.OK)
          {
                //password is correct. Close Add-in
          }
          else
          {
             //TODO:  cancel closing this add-in
              MessageBox.Show("You can't close this add-in, please enter valid password.");
          }
  }

谢谢。

您无法控制用户禁用外接程序-您最好的选择可能是使用单独的进程/服务,在必要时重新启用它。(这只是编辑控制加载行为的注册表项的一个例子)

要实现您所描述的,您需要“黑客”Outlook行为,这是出于安全性和稳定性的原因-IMHO没有可靠的方法来做您想要做的事情。。。你为什么要这样做?也许有一种不同的方式来实现你的目标。。。