Outlook.Application.Quit不起作用
我正在尝试在处理完以下对象后退出outlook.applicationOutlook.Application.Quit不起作用,outlook,outlook-2010,outlook-redemption,Outlook,Outlook 2010,Outlook Redemption,我正在尝试在处理完以下对象后退出outlook.application //variables intialisation var outlookApp = new Microsoft.Office.Interop.Outlook.Application(); RDOFolder store; RDOStore mailbox; RDOSession session; session = Redemption.RedemptionLoader.new_RDOSession(); s
//variables intialisation
var outlookApp = new Microsoft.Office.Interop.Outlook.Application();
RDOFolder store;
RDOStore mailbox;
RDOSession session;
session = Redemption.RedemptionLoader.new_RDOSession();
session.MAPIOBJECT = outlookApp.Session.MAPIOBJECT;
mailbox = session.GetDefaultFolder(rdoDefaultFolder.olFolderInbox).Store;
store = session.GetDefaultFolder(rdoDefaultFolder.olFolderInbox).Parent;
//...code goes on
//Quitting
session.LogOff();
outlookApp.Quit();
Marshal.ReleaseComObject(store);
Marshal.ReleaseComObject(mailbox);
Marshal.ReleaseComObject(session);
Marshal.ReleaseComObject(outlookApp);
有什么问题吗?我试图等待几分钟,以确保他们在outlook过程中没有发生任何事情,阻止它退出,但它从未关闭自己。单击outlook图标手动关闭时,出现以下错误:
Outlook无法显示此视图
但是如果我在session.LogOff()之前中断,以完全模式打开outlook并重新启动代码,那么它将毫无问题地关闭
谢谢 您正在通过调用RDOSession.Logoff终止Outlook MAPI会话。不要这样做-会话属于Outlook,您只是通过读取Namespace.MAPIOBJECT属性借用了它 我删除了这一行,但这个过程仍然在继续。它现在是间歇性的,有时这个过程继续,有时不退出。你有更多的线索吗?它是否与仍在内存中引用的COM对象相关?因此UI已消失,内存中只保留outlook.exe?你为什么要重新启动Outlook?您只需使用RDOSession登录即可。登录并指定所需的配置文件。此问题与此其他问题相关联:,如果outlook不在任务栏中,则不会关闭此进程保持活动状态。我将关闭它,请参阅其他主题。的可能副本