注册Outlook可识别的自定义URL协议处理程序?

时间:2009-05-19 08:31:21

标签: .net outlook uri protocols handler

早上好,

我已经成功创建了一个小应用程序,它在http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx

的msdn条目后面的自定义uri协议('irma:')下注册自己

当通过shell / cmd等手动打开这样的链接时,这非常正常,但是当发送这样的链接时,Outlook无法识别设置了注册表项的客户端上的“自动”链接。我是否必须做一些额外的事情来让outlook处理这样的自定义uri或者它是否可能?

干杯谢谢, -j

2 个答案:

答案 0 :(得分:13)

[好吧,我会发布这个作为一个新的答案,以保持这个清洁而不删除所有以前发布的内容。]

我刚刚重复了我在其他答案中提到的研究,似乎在过去三年里情况有了很大改善。 Outlook 2003(SP3)和Outlook 2007(SP2)现在都自动识别从我的旧答案链接的NG线程中引用的MS产品支持邮件中列出的所有协议,包括url: - 协议!

后者意味着您现在可以编写如下内容:

url:irma:whatever

并正确链接和处理。但是,在执行协议处理程序之前,Outlook将显示安全确认对话框。

更新:请注意,在Outlook 2003 SP3中,新协议(例如url:mms://等)仅在HTML邮件中自动链接。纯文本检查员的行为与我的其他答案中描述的相同。但是,它适用于Outlook 2007 SP2中的纯文本邮件。

但是,我仍然没有发现只能在Outlook中注册自定义协议的能力,这些协议可以在没有url: - 前缀的情况下工作。

答案 1 :(得分:1)

更新:以下显示的信息现在似乎已过时。看到我的其他答案。


我过去对此做了一些研究,得出的结论是不可能的。 Outlook能够“自动链接”的协议显然是硬编码的。 我之前的研究结果记录在这个新闻组主题中:

How to make custom APPs recognizable by Outlook/Word/...
(2005年4月至6月在microsoft.public.inetsdk.programming.urlmonikers上发布)

来自MS产品支持的报价:

  

不幸的是,Office中的超链接识别 - 以便自动格式自动将输入的文本转换为超链接 - 是硬编码的。
  因此,您无法为识别添加新协议。

有关各种Office程序之间URL识别差异的摘要,请参阅last post in that thread(提示:Outlook支持最少的协议)。

以下是有关Outlook的相关内容。以下模式由Outlook自动识别为链接(截至2005年6月,即Outlook 2003):

  1. 如果超链接的第一个单词是

    • “www”(例如www.microsoft.com)
    • “ftp”(例如ftp.microsoft.com)
  2. 如果超链接以以下表达式之一开头,后跟“:/”

    • HTTP
    • HTTPS
    • FTP
    • 普洛斯彼罗
    • 远程登录
    • WAIS
    • 文件
  3. 如果超链接以以下表达式之一开头,后跟“:”和字符串(例如mailto:blah

    • 的mailto
    • 消息
    • NNTP