首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ThisAddIn_ShutDown不执行

ThisAddIn_ShutDown不执行
EN

Stack Overflow用户
提问于 2012-09-07 06:09:27
回答 2查看 3.1K关注 0票数 4

在Outlook的外接程序中,我有以下几行.

代码语言:javascript
复制
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
  MessageBox.Show("Hazaa!");            
}

private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
  MessageBox.Show("Shazoo...");
}

而Outlook则用酷酷的“哈扎!”向我问好!一开始,它就拒绝去“萨哈动物园”当我关闭它的时候。这两个方法都是使用默认的自动生成的代码以相同的方式注册的,所以我不怀疑那里有任何错误。我能想到的另一个解释是,当应用程序已经离开GUI并隐藏shazooing时,就会执行关闭过程。

是这样吗?如果没有,我如何才能使Outlook使我感到羞愧?如果是这样的话,我如何才能在视觉上通知用户这样的动物园呢?

编辑:

显然,由于O10,关闭不再被调用,所以下面的自动生成的代码实际上是错误的(或者至少不是完美的)。由@Christian.K. K提供。

代码语言:javascript
复制
#region VSTO generated code
private void InternalStartup()
{
  this.Startup += new System.EventHandler(ThisAddIn_Startup);
  this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-07 06:25:45

你在用2010年展望

从Outlook 2010开始,Outlook默认不会发出关闭外接程序的信号。具体来说,在快速关闭期间,Outlook不再调用IDTExtensibility2接口的OnDisconnection和IDTExtensibility2方法。类似地,使用编写的Outlook外接程序在Outlook关闭时不再调用ThisAddin_Shutdown方法。

票数 5
EN

Stack Overflow用户

发布于 2012-09-26 08:13:52

如果您正在使用Outlook 2010,您可以要求Outlook在插件关闭时通知它。

代码语言:javascript
复制
[RequireShutdownNotification]=dword:0x1

键必须放在插件的注册表文件夹中

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12312619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档