.net 单击“邮件收件人”链接后未加载Outlook插件

.net 单击“邮件收件人”链接后未加载Outlook插件,.net,vsto,outlook-addin,.net,Vsto,Outlook Addin,我已经创建了一个Outlook2007插件,在用户创建新电子邮件时,除其他外,它还必须执行一些操作。我已经迷上了正确的事件,除了一种情况外,所有的事情都正常工作 问题是,如果Outlook未运行,并且用户单击了mailtoURL,则Outlook只会打开一个浏览器,用户可以在其中撰写电子邮件。应用程序的其他部分当时未加载。问题是,在这种情况下,我的插件没有加载,因此我无法在那里添加自定义代码 我想知道是否有办法克服这个问题 我看到了两种可能的解决方案,但我不知道它们是否可行 在mailto链接

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

问题是,如果Outlook未运行,并且用户单击了
mailto
URL,则Outlook只会打开一个浏览器,用户可以在其中撰写电子邮件。应用程序的其他部分当时未加载。问题是,在这种情况下,我的插件没有加载,因此我无法在那里添加自定义代码

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

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

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

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

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

就我而言,我已经制定了一个变通办法。我没有使用mailto链接,而是创建了自己的链接(这是一个简单的shell扩展,可以轻松创建),它启动了一个小助手应用程序。此帮助程序应用程序在稍微检查加载行为值(必须设置为“3”)后,以完全模式(
Outlook.exe/recycle
)启动Outlook


通过这种方式,您可以在fullmode下启动Outlook,以便使用您的加载项;)

我知道这可以通过自定义URL处理程序来完成。事实上,我现在就是这样做的。不过,我正在寻找一种方法,可以避免安装URL处理程序而只是更改Outlook行为。如果你说的是真的,那么没有URL处理程序就没有办法改善它。嗯。。。您可以更改原来的处理程序,而不是创建新的处理程序。。。可以让原始mailto处理程序启动helper add。通过这种方式,您可以通过单击mailto链接实现Outlook的全面启动。。。但在我看来,这是一个更好的方式创建自己的处理程序。改变Outlook行为将是最好的解决方案。我已经为这个话题搜索了很多,但我觉得没有解决办法。