如何在单击电子邮件时获取电子邮件数据,在 C# 中使用 Outlook API
How to get eMail data when clicking an email, using Outlook API in C#
我在 Win7 64 位机器上使用 .NET 4.0。
当我在 Outlook 中单击电子邮件时,我试图获取电子邮件详细信息。当我点击一封电子邮件时,我收到通知我新项目 clicked/loaded 进入 ItemLoad(object Item) 回调内存的事件,但参数为空,因为如文档所述,此事件发生当 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
}
在 ItemLoad 事件处理程序中,您可以订阅项目级事件,例如 Open, Read, ReadComplete 等
您可以考虑改用资源管理器 class 的 SelectionChange 事件。当用户以编程方式或通过与用户界面交互选择不同或附加的 Microsoft Outlook 项目时,将触发它。当用户(以编程方式或通过用户界面)单击或切换到包含项目的不同文件夹时,也会发生此事件,因为 Outlook 会自动选择该文件夹中的第一个项目。
我在 Win7 64 位机器上使用 .NET 4.0。
当我在 Outlook 中单击电子邮件时,我试图获取电子邮件详细信息。当我点击一封电子邮件时,我收到通知我新项目 clicked/loaded 进入 ItemLoad(object Item) 回调内存的事件,但参数为空,因为如文档所述,此事件发生当 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
}
在 ItemLoad 事件处理程序中,您可以订阅项目级事件,例如 Open, Read, ReadComplete 等
您可以考虑改用资源管理器 class 的 SelectionChange 事件。当用户以编程方式或通过与用户界面交互选择不同或附加的 Microsoft Outlook 项目时,将触发它。当用户(以编程方式或通过用户界面)单击或切换到包含项目的不同文件夹时,也会发生此事件,因为 Outlook 会自动选择该文件夹中的第一个项目。