用户添加或删除帐户后,如何在加载项中获取实际的 Outlook 帐户列表?
How to get actual list of Outlook accounts in Add-In after adding or removing an account by user?
如果更改帐户列表,我的加载项应更改其模式。
我通过以下方式获取 outlook 帐户列表:
var ns = application.GetNamespace("MAPI");
accounts = ns.Accounts;
它有效,但是当用户添加新帐户或删除其中一些帐户时,ns.Accounts 仍然显示旧值。只有当我重新加载 outlook 时它才会改变。
我也一直在搜索添加和删除帐户的事件,但仍然找不到。
你能帮帮我吗?
修改帐户时,Outlook 对象模型中没有发生任何事件。您必须重新启动 Outlook 才能看到更改。唯一的其他相关选项是在用户打开数据文件或将数据文件添加到配置文件时监视 Stores.StoreAdd 事件,但这可能对您的需求没有用。
否则你可以使用像 Redemption 这样的第三方库,它可以监控账户的变化:http://www.dimastr.com/redemption/RDOAccounts.htm#events
如果更改帐户列表,我的加载项应更改其模式。
我通过以下方式获取 outlook 帐户列表:
var ns = application.GetNamespace("MAPI");
accounts = ns.Accounts;
它有效,但是当用户添加新帐户或删除其中一些帐户时,ns.Accounts 仍然显示旧值。只有当我重新加载 outlook 时它才会改变。
我也一直在搜索添加和删除帐户的事件,但仍然找不到。
你能帮帮我吗?
修改帐户时,Outlook 对象模型中没有发生任何事件。您必须重新启动 Outlook 才能看到更改。唯一的其他相关选项是在用户打开数据文件或将数据文件添加到配置文件时监视 Stores.StoreAdd 事件,但这可能对您的需求没有用。
否则你可以使用像 Redemption 这样的第三方库,它可以监控账户的变化:http://www.dimastr.com/redemption/RDOAccounts.htm#events