Как получить список учетных записей 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