注册自定义URL协议处理程序,使Outlook能够识别?

8

早上好,

我已经成功创建了一个小应用程序,它在自定义URI协议('irma:')下注册,遵循msdn入口网址:http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx

当通过shell/cmd等手动打开此类链接时,它可以完美地工作。但是,当发送这样的链接时,Outlook不能在设置了注册表键的客户端上“自动”识别它们。我是否需要做些额外的事情来让Outlook处理这样的自定义URI,或者这是否可能?

谢谢,祝好! -j

2个回答

14
[好的,我会将这个作为新答案发布,以保持先前发布的所有内容的清晰性而不删除它们。]
我刚刚重复了我在另一个答案中提到的研究,似乎在过去三年中情况大为改善。Outlook 2003 (SP3)和Outlook 2007 (SP2)现在自动识别MS产品支持邮件中列出的所有协议,包括从我的旧答案链接的NG线程中引用的协议,其中包括"url:"协议!
后者意味着您现在可以编写类似以下内容的东西:
url:irma:whatever

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

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

我仍然没有发现简单注册在Outlook中可以工作且不需要url:前缀的自定义协议的线索。


哦,谢谢提供这个信息!我还从一位Outlook MVP那里得知,实际上目前不能完全添加自己的网址。但是我不知道url:前缀......至少这是一个解决我需求的方法。谢谢你,Oliver! - Jörg Battermann

1

更新:下面呈现的信息似乎已经过时了。请查看我的其他答案。


我曾经对此进行过一些研究,并得出结论,这是不可能的。Outlook 能够“自动链接化”的协议显然是硬编码的。

我以前的研究结果记录在这个新闻组线程中:

如何使 Outlook/Word/... 可识别自定义 APP
(发布于 2005 年 4 月至 6 月的 microsoft.public.inetsdk.programming.urlmonikers)

来自 MS 产品支持的引用:

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

请查看该主题中的最新帖子,了解各种Office程序在URL识别方面的差异摘要(提示:Outlook支持最少的协议)。

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

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

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

    • http
    • https
    • ftp
    • gopher
    • prospero
    • telnet
    • wais
    • file
  3. 如果超链接以以下表达式之一开头,后跟 ":" 和一个字符串 (例如 mailto:blah)

    • mailto
    • news
    • nntp
    • outlook

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接