I created a plugin that works great as you describe. For Outlook 2007.
Basically, I just created a solution in VS with the "Outlook Add-in" template (for Office 2007 or 2010, depending on your situation).
At startup, I create a custom menu item that will invoke the import. An example is available (for 2003, but it looks like the same procedure):
http://msdn.microsoft.com/en-us/library/ms269110(v=vs.80).aspx
To display the sender image, I created Outlook contact items in a custom contacts folder to avoid messing up the original contacts folder. Then I had to mark this folder as "Outlook Address Book" (which is not the default), otherwise Outlook will not consider this folder when trying to find a contact picture.
Below is a link describing how to create custom contact folders and contact items:
http://www.eggheadcafe.com/community/aspnet/97/10159686/creating-folder-in-outlook-using-c.aspx
To mark this as an address book, there is a property in the folder object called IsAddressBook. I really don't remember exactly, but you'll probably find out. :)
source share