C# 启动时在Outlook功能区扩展中检索资源管理器窗口对象?

C# 启动时在Outlook功能区扩展中检索资源管理器窗口对象?,c#,outlook,vsto,outlook-2010,C#,Outlook,Vsto,Outlook 2010,我在尝试检索默认收件箱文件夹时遇到问题,因为我没有可从中检索的实例 最后,我尝试检索一年或更长时间的邮件列表,这样我就可以在表单中显示这些邮件,并让用户知道这些邮件即将过期,所以要么移动它们,要么保存它们,要么将其删除。有一项新的公司电子邮件租赁政策,在一年后删除电子邮件,不让用户知道 然而,在我可以这样做之前,我需要一个邮件列表。outlook启动时,outlook调用以下代码: /// <summary> /// Overridden method to allow Outloo

我在尝试检索默认收件箱文件夹时遇到问题,因为我没有可从中检索的实例

最后,我尝试检索一年或更长时间的邮件列表,这样我就可以在表单中显示这些邮件,并让用户知道这些邮件即将过期,所以要么移动它们,要么保存它们,要么将其删除。有一项新的公司电子邮件租赁政策,在一年后删除电子邮件,不让用户知道

然而,在我可以这样做之前,我需要一个邮件列表。outlook启动时,outlook调用以下代码:

/// <summary>
/// Overridden method to allow Outlook to look for and load extensions.
/// </summary>
/// <returns>A <see cref="MailExpiryAlert"/> class containing the extension logic</returns>
protected override Office.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    if (Application.Explorers.Count > 0)
    {
        string breakPoint = "this break point will never be reached on initial startup";
    }
    return new MailExpiryAlert();
}
//
///重写方法以允许Outlook查找和加载扩展。
/// 
///包含扩展逻辑的类
受保护的覆盖Office.IribboneExtensibility CreateRibboneExtensibilityObject()
{
如果(Application.Explorers.Count>0)
{
string breakPoint=“初始启动时永远不会到达此断点”;
}
返回新的mailExpiryAllert();
}

但是,我得到以下错误:NullReferenceExceptoin:Object reference未设置为对象的实例。这是因为资源管理器窗口尚未加载,因此为空。但是,在outlook本身加载之前,我应该如何加载我的扩展(它取决于其中的资源管理器和文件夹)?我知道我在这里遗漏了一些非常基本的东西,但如果有任何帮助,我将不胜感激。

您需要Application.Session.GetDefaultFolder(olFolderInbox),不管是否有活动的探索者