早上好,
我已经成功创建了一个小应用程序,它在http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx
的msdn条目后面的自定义uri协议('irma:')下注册自己当通过shell / cmd等手动打开这样的链接时,这非常正常,但是当发送这样的链接时,Outlook无法识别设置了注册表项的客户端上的“自动”链接。我是否必须做一些额外的事情来让outlook处理这样的自定义uri或者它是否可能?
干杯谢谢, -j
答案 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):
如果超链接的第一个单词是
如果超链接以以下表达式之一开头,后跟“:/”
如果超链接以以下表达式之一开头,后跟“:”和字符串(例如mailto:blah
)