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

问题描述:

是否可以使用标准COM从Outlook 2003获取所有现有帐户的列表? 这意味着我不能使用赎回库,但只有default Outlook 2003 object model。 它更容易在展望2007/2010获得帐户:如何使用Outlook 2003对象模型获取Outlook 2003帐户列表

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

但没有“帐户”属性为Outlook 2003在默认情况下,我可以使用“当前用户”属性只能访问默认帐户。所以也许有另外一种方法来获取所有帐户(仅使用Outlook 2003对象模型)?

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

Accounts属性在Outlook 2003对象模型中不可用。获取此信息的一种方法是使用Extended MAPI(MAPI 1.0)和方法的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

+0

我需要帐户,而不是联系人。他们是不同的东西。 – 2010-07-06 19:35:57

+0

我误解了你的问题。我相应地修改了我的答案。 – Garett 2010-07-06 20:13:58

+0

感谢您的回答,但正如我以前写的,我无法使用兑换库或其他第三方库。但我已经找到答案了。所以感谢您的帮助。 – 2010-07-06 20:46:30