Как получить список учетных записей Outlook 2003 с использованием объектной модели Outlook 2003

Можно ли получить список всех существующих учетных записей из Outlook 2003, используя только стандартные COM? Это означает, что я не могу использовать библиотеку Redemption, а только объектную модель Outlook 2003 по умолчанию. В Outlook 2007/2010 получить учетные записи намного проще:

dynamic outlook = AutomationFactory.GetObject("Outlook.Application");
var accounts = outlook.Session.Accounts;

Но в Outlook 2003 нет свойства "Учетные записи". По умолчанию я могу получить доступ только к учетной записи по умолчанию, используя свойство "CurrentUser". Так может быть есть какой-то другой способ получить все учетные записи (используя ТОЛЬКО объектную модель Outlook 2003)?

2 ответа

Решение

Я наконец нашел ответ. Я не использую объектную модель, но делаю точно так же, как Redemption (читай реестр). Так что это приемлемый ответ как для меня.

Свойство Учетные записи недоступно в объектной модели Outlook 2003. Один из способов получить эту информацию - использовать Extended MAPI (MAPI 1.0) и метод EnumerateAccounts интерфейса IOlkAccountManager. Однако использование Extendend MAPI из кода управления не рекомендуется. Доступны обертки сторонних производителей, pouplar - Redemption. Ниже приведены несколько ресурсов, которые будут полезны.

http://support.microsoft.com/kb/200018

http://www.codeproject.com/KB/IP/CMapiEx.aspx

http://www.codeproject.com/KB/office/BridgingTheGap.aspx

Другие вопросы по тегам