0

是否可以仅使用标准 COM 从 Outlook 2003 获取所有现有帐户的列表?这意味着我不能使用 Redemption 库,而只能使用默认的 Outlook 2003 object model。在 Outlook 2007/2010 中获取帐户非常容易:

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

但是 Outlook 2003 没有“帐户”属性。默认情况下,我只能使用“当前用户”属性访问默认帐户。那么也许有其他方法可以获取所有帐户(仅使用 Outlook 2003 对象模型)?

4

2 回答 2

1

Accounts 属性在 Outlook 2003 对象模型中不可用。获取此信息的一种方法是使用扩展 MAPI (MAPI 1.0) 和IOlkAccountManager接口的EnumerateAccounts方法。但是,不鼓励在管理代码中使用 Extendend MAPI 。有可用的第三方包装器,一种流行的是Redemption。以下是一些有用的资源。

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

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

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

于 2010-07-06T15:15:25.800 回答
1

我终于找到了答案。我没有使用对象模型,但我的做法与 Redemption 完全相同(读取注册表)。所以对我来说这是可以接受的答案。

于 2010-07-06T20:44:01.777 回答