在Outlook的外接程序中,我有以下几行.
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提供。
#region VSTO generated code
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion发布于 2012-09-07 06:25:45
你在用2010年展望吗
从Outlook 2010开始,Outlook默认不会发出关闭外接程序的信号。具体来说,在快速关闭期间,Outlook不再调用IDTExtensibility2接口的OnDisconnection和IDTExtensibility2方法。类似地,使用编写的Outlook外接程序在Outlook关闭时不再调用ThisAddin_Shutdown方法。
发布于 2012-09-26 08:13:52
如果您正在使用Outlook 2010,您可以要求Outlook在插件关闭时通知它。
[RequireShutdownNotification]=dword:0x1键必须放在插件的注册表文件夹中
https://stackoverflow.com/questions/12312619
复制相似问题