如何在用户添加或删除帐户后获取加载项中的Outlook帐户的实际列表?

时间:2017-06-13 13:29:43

标签: c# outlook outlook-addin

如果更改了帐户列表,我的加载项应该更改其模式。

我通过以下方式获取Outlook帐户列表:

var ns = application.GetNamespace("MAPI");
accounts = ns.Accounts;

虽然有效但是当用户添加新帐户或删除部分帐户时, ns.Accounts 仍会显示旧值。只有当我重新加载Outlook时它才会改变。
此外,我一直在搜索添加和删除帐户的事件,但仍无法找到。

你能帮我吗?

1 个答案:

答案 0 :(得分:2)

修改帐户时,Outlook对象模型中不会发生任何事件。您必须重新启动Outlook才能查看更改。唯一的其他相关选项是监视Stores.StoreAdd事件,如果用户打开或向配置文件添加数据文件,但这可能对您的需求没有用。

否则,您可以使用像Redemption这样的第三方库,它可以监控对帐户的更改:http://www.dimastr.com/redemption/RDOAccounts.htm#events