Hey Guys我是办公室插件编程的新手,现在我正在为outlook创建一个插件。此Outlook插件的目的是获取每个帐户的收件箱中的所有传入邮件,并将它们发送到我的服务器。 我已成功完成了Microsoft.Office.Interop.Outlook ,但我遇到了一些问题。这是我的代码http://pastebin.com/TwnmrYeY,以下是问题
我希望你们可以帮助我,因为我已经被这些东西长时间困住了。
答案 0 :(得分:0)
首先,Outlook对象模型不能在Outlook插件中的辅助线程上使用 - 从Outlook 2013开始,一旦检测到对辅助线程上的某个对象的访问,Outlook就会引发异常。请注意,即使在辅助线程上使用该exe OOM,外部exes也会封送所有对主Outlook线程的OOM调用。为了能够访问辅助线程上的各种Outlook obejcts,您需要使用扩展MAPI(C ++或Delphi)或类似Redemption的包装器(其RDO对象系列can be used in secondary threads )。
其次,虽然Application.Quit事件通常不会触发,但您仍然可以检测到最后一个Explorer或Inspector关闭(Explorer.Close nad Inspector.Close事件) - 一旦上一个Outlook窗口关闭,Outlook将退出。这也可以帮助防止Outlook退出:如果您对Inspector或Explorer对象的引用(即使它不可见),Outlook将保持运行。