0

我想测试(模糊)前景插件。主要思想是开发插件(邮件生成器),它将模拟\触发邮件打开以供我的目标插件处理。是否可以为目标插件发出 OnRead 事件?

我认为我的代码必须做到这一点,但它不会:

string progId = "target_addin_progid";
var obj = (OUTLOOKADDINLib.ItemNotifications) Application.CreateObject(progId);
var msg = Application.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
msg.Body = "email body";
obj.ItemRead(msg);

我使用调试器来确保上述代码不会到达目标插件处理逻辑。如何使用插件模拟邮件阅读?

4

1 回答 1

1

Outlook 对象模型不提供任何方法或属性来获取开箱即用的事件。您需要重现触发事件的条件。

您可以通过Read将 MailItem 的事件保存在磁盘上并将其Selection从另一个项目更改为触发事件所需的项目来模拟 MailItem 的事件,或者只是尝试通过调用类的Display方法在检查器窗口中打开它MailItem

于 2017-02-22T13:27:31.670 回答