Показать контактную карточку Outlook в приложении WPF - PullRequest
1 голос
/ 25 января 2012

Я работаю над приложением WPF (написанным на C #), которое ищет и обслуживает данные из активного каталога. Поиск пользователя приведет к извлечению всех телефонных номеров для пользователя и отображению в окне приложения.

Как я могу открыть карточку контакта outlook нажатием какой-либо иконки или имени пользователя или чего-то еще?

A dummy contact card

Ответы [ 3 ]

1 голос
/ 25 января 2012

Под карточкой контактов Outlook я предполагаю, что вы имеете в виду vCard (* .VCF файл).На самом деле это не более чем текстовый файл.Вы можете легко воссоздать его.Например:

Создайте экземпляр StringBuilder и запишите в него содержимое файла .VCF.

var vcf = new StringBuilder();
vcf.Append("TITLE:" + contact.Title + System.Environment.NewLine); 
//...

После этого вы можете сохранить его в файл.

var filename = @"C:\mycontact.vcf";
File.WriteAllText(filename, vcf.ToString());

Большинство свойств легко понять.

Небольшой пример:

BEGIN:VCARD
FN:Mr. John Smith
TITLE:Developer
ORG:Microsoft
BDAY:1979-12-10
VERSION:2.1
END:VCARD

Если вы хотите включить изображение, вам нужно кодировать его на основе 64.

Если вы откроете этот вновь созданный файл:

Process.Start(@"C:\mycontact.vcf");

Затем он должен быть открыт приложением, которое по умолчанию настроено на обработку этого расширения файла.

Википедия содержит больше информации о содержимомvCard:

http://en.wikipedia.org/wiki/VCard

1 голос
/ 25 января 2012

Карта контактов Outlook является частью Microsoft Outlook и (насколько я знаю) не является общедоступным элементом управления, поэтому вы не можете просто «открыть» ее, если не создаете надстройку Outlook.

Используя информацию Active Directory, вы можете воссоздать ее.

0 голосов
/ 27 марта 2013

Кажется, что в Outlook используется функция Lync. Даже если не совсем то же самое, вы можете использовать Lync SDK в своем приложении wpf, если вы используете Lync. http://msdn.microsoft.com/en-us/uc14trainingcourse_2l_topic2#_Toc273951814

...