如何使用Outlook 2003对象模型获取Outlook 2003帐户列表

时间:2010-07-06 08:18:58

标签: c# com outlook-2003

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

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

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

2 个答案:

答案 0 :(得分:1)

Outlook 2003对象模型中的“帐户”属性不可用。获取此信息的一种方法是使用Extended MAPI(MAPI 1.0)和EnumerateAccounts接口的IOlkAccountManager方法。但是,使用管理代码中的Extendend MAPI为discouraged。有第三方包装器,一个pouplar包装器Redemption。以下是一些有用的资源。

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

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

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

答案 1 :(得分:1)

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