如何获取Outlook联系人的头像图片?

问题描述:

我想获取联系人的头像图片。如何获取Outlook联系人的头像图片?

using Microsoft.Office.Interop.Outlook; 

public sealed class OutlookAvatarFetcher 
{ 
    private static void FetchAvatars() 
    { 
     var outlook = new Application(); 
     var folder = outlook.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderContacts); 
     var items = folder.Items; 

     for (var i = 0; i < items.Count; ++i) 
     { 
      var contact = items[i + 1] as ContactItem; 
      if (contact == null) 
       continue; 


      if (contact.HasPicture) 
      { 
       // TODO store the picture somehow. 
      } 
     } 
    } 
} 

但不幸的是我找不到图片访问器。

+1

似乎我在这里找到了答案http://www.scip.be/index.php?Page=ArticlesNET07 – 2013-05-03 12:36:01

+0

这里有个类似的问题 - http://www.c-sharpcorner.com/Forums/Thread/70283 / – JayH 2013-05-03 12:52:31

您可以使用ContactItemattachments属性:

contact.Attachments["ContactPicture.jpg"] 

如果你想将文件保存到磁盘上,例如,你可以做这样的事情:

contact.Attachments["ContactPicture.jpg"].SaveAsFile(@"{some_path}\ContactPicture.jpg")