如何在C#中使用Outlook API单击电子邮件时获取电子邮件数据

时间:2015-02-19 15:49:10

标签: c# .net outlook


我在Win7 64位机器上使用.NET 4.0 我在Outlook中单击电子邮件时尝试获取电子邮件详细信息。当我点击一封电子邮件时,我抓住了一个事件,通知我在ItemLoad(对象项)回调中点击/加载到内存中的新项目,但该参数为空,因为正如文档所述,此事件发生在Outlook项目开始加载到内存中,无法访问。 有没有办法访问与被点击的项目相关的数据? 我的代码:

m_oApp = new Outlook.Application();
.....
m_oApp.ItemLoad += m_oApp_ItemLoad;
.....
void m_oApp_ItemLoad(object Item)
{
       //Outlook.MailItem mail = (Outlook.MailItem)Item;//Item here is a NULL object
}

1 个答案:

答案 0 :(得分:1)

在ItemLoad事件处理程序中,您可以订阅项目级事件,例如OpenReadReadComplete等。

您可以考虑使用Explorer类的SelectionChange事件。当用户以编程方式选择不同的或附加的Microsoft Outlook项目或通过与用户界面交互时,它会被触发。当用户(以编程方式或通过用户界面)单击或切换到包含项目的其他文件夹时,也会发生此事件,因为Outlook会自动选择该文件夹中的第一个项目。