我在WPF应用程序中使用Interop时遇到了困难。 我真正想要做的是将Outlook文件拖放到我的应用程序中并提取附件并存储它们。除此之外,我想阅读主题并搜索一个4位数字,然后将其作为附件存储到的文件夹的名称。 我一直在网上搜索没有使用Interop的解决方案,但我找不到任何适合我的方法。 所以我想,让我们试一试。这听起来很简单,因为我发现了很多遵循这种模式的例子:
if (e.Data.GetDataPresent("FileGroupDescriptor"))
{
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.Selection selection = app.ActiveExplorer().Selection;
foreach (object mi in selection)
{
Microsoft.Office.Interop.Outlook.MailItem mailItem = (Microsoft.Office.Interop.Outlook.MailItem)mi;
string subject = "Untitled";
if (!string.IsNullOrEmpty(mailItem.Subject))
{
subject = mailItem.Subject;
MessageBox.Show(subject);
}
}
}
这有效,但我有一个问题:选择不断增长。我尝试了RemoveFromSelection和ClearSelection方法,但它们不起作用。每次我将新的Outlook项目拖到曲面时,它都会一直显示所有以前的项目。 有谁能够帮我?我完全失去了
答案 0 :(得分:1)
您是否在应用程序中处理Drag事件?
如果是这样,请尝试在事件处理程序中调用以下代码:
e.Data.GetData(“RenPrivateMessages”);