3

我创建了一个 Outlook 2007 插件,除其他外,它必须在用户创建新电子邮件时执行一些操作。我已经迷上了适当的事件,除了一种情况外,一切都正常工作。

问题是,如果 Outlook 没有运行并且用户单击mailtoURL,那么 Outlook 只会打开一个资源管理器,用户可以在其中撰写电子邮件。应用程序的其他部分当时未加载。问题是在这种情况下我的插件没有加载,所以我不能在那里添加我的自定义代码。

我想知道是否有办法克服这个问题。

我看到了两种可能的解决方案,但我不知道它们是否可行。

  • 在 mailto 链接上加载插件(一种资源管理器模式)。我怀疑这将由 VSTO 开箱即用地提供,但事实并非如此。我在 MSDN 或 MS Outlook 编程书上都找不到任何相关信息。
  • 更改客户端计算机上的 mailto URL 处理程序以启动完整的 Outlook(就像您单击 Outlook 快捷方式一样),而不仅仅是一个资源管理器。这将在打开电子邮件浏览器之前加载我的插件,并且可能会按我的预期工作。

有谁知道这些解决方案是否可行?或者也许你有另一个可能有用的。

4

1 回答 1

2

我也有同样的问题,但使用 Outlook 2003。这种行为的原因是安全性。想象一下,一个用户错误地安装了一个邪恶的插件,它回复了 mailto 链接,因此做了一些邪恶的事情......

就我而言,我开发了一种解决方法。我没有使用 mailto 链接,而是创建了一个自己的链接(它是一个简单的 shell 扩展,可以很容易地在此处创建),它启动了一个小助手应用程序。Outlook.exe /recycle此帮助应用程序在稍微检查加载行为值(必须设置为“3”)后以完整模式 ( ) 启动 Outlook 。

这样您就可以在完整模式下启动 Outlook 以使用您的插件;)

于 2010-03-29T12:48:03.793 回答