C# Outlook中是否没有应用程序退出事件?
我使用的是12.0互操作库,这是Outlook 2007的默认库。实际上,我的目标是将Outlook 2003到2010与注册到退出事件的代码示例集成 即使用户说Outlook应用程序存在应用程序退出事件,我在C# Outlook中是否没有应用程序退出事件?,c#,outlook,outlook-object-model,quit,C#,Outlook,Outlook Object Model,Quit,我使用的是12.0互操作库,这是Outlook 2007的默认库。实际上,我的目标是将Outlook 2003到2010与注册到退出事件的代码示例集成 即使用户说Outlook应用程序存在应用程序退出事件,我在Outlook.application对象实现中也找不到它 Visual Studio 2010似乎将退出作为一种方法: 问题: 如何注册Outlook应用程序的退出事件?(如果有一个,或应用程序退出时触发的任何事件)如果可能,请提供一些示例代码 谢谢 试着给出一个解决方案:也许你可以获
Outlook.application
对象实现中也找不到它
Visual Studio 2010似乎将退出作为一种方法:
问题:
如何注册Outlook应用程序的退出事件?(如果有一个,或应用程序退出时触发的任何事件)如果可能,请提供一些示例代码
谢谢 试着给出一个解决方案:也许你可以获得Outlook process并监听
process。退出了事件。我看到它的Office 2007 API是你的那个版本的API。我的目标是Outlook 2003到2010。Interop dll文件是12.0版,我认为它来自Office 2007。您在这里想做什么?我这样问是因为Application.Quit事件并没有真正的帮助,因为当它触发时,所有对象都已被释放。@JP.,我想我是在试图弄清楚Outlook何时退出,以便在连接到Outlook MAPI存储的应用程序中对此作出反应。我最终使用了进程。正如Tigran所提到的退出了事件。问题是Quit
方法和Quit
事件之间存在名称冲突,这两个事件都在单独的接口上定义。该方法会隐藏事件,您必须将应用程序对象显式强制转换到Microsoft.Office.Interop.Outlook.ApplicationEvents\u 11\u Events
界面才能访问事件。谢谢您的回答。我想你指的是进程中的退出事件,对吧?是的,这是一种方法,但因为我的目标也是Outlook 2003和2007 SP1,如果有应用程序仍在使用它,Outlook进程不会关闭(与COM有关)。所以我仍然想知道当用户按下X按钮时是否会触发一个事件。真的很好。需要这样做是因为根据MSDN,Outlook 2007SP2、Outlook 2010及更高版本不再需要关闭此插件。这应该是例外的答案。
((Outlook.ApplicationEvents_11_Event)Application).Quit
+= new Outlook.ApplicationEvents_11_QuitEventHandler(ThisAddIn_Quit);
void ThisAddIn_Quit()
{
System.Windows.Forms.MessageBox.Show("bye bye problem, I found the solution!!");
}