Регистрация специального обработчика url protocl, который распознает Outlook? - PullRequest
6 голосов
/ 19 мая 2009

Доброе утро,

Я успешно создал небольшое приложение, которое регистрируется в соответствии с пользовательским протоколом uri ('irma:') после записи msdn в http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx

Это прекрасно работает при открытии такой ссылки вручную через shell / cmd и т. Д., Но при отправке подобных ссылок outlook не распознает те «автоматически» на клиентах, для которых установлен раздел реестра. Нужно ли делать что-то дополнительное, чтобы outlook мог обрабатывать такие пользовательские URI, или это вообще возможно?

Привет и спасибо, -j

Ответы [ 2 ]

13 голосов
/ 02 июня 2009

[Хорошо, я опубликую это как новый ответ, чтобы сохранить его чистым, не удаляя весь ранее опубликованный контент.]

Я только что повторил исследование, упомянутое в моем другом ответе, и кажется, что ситуация значительно улучшилась за последние три года. Как Outlook 2003 (SP3), так и Outlook 2007 (SP2) теперь автоматически распознают все протоколы, перечисленные в письме службы поддержки продуктов MS, указанном в ветке NG, связанной с моим предыдущим ответом , включая url: -protocol!

Последнее означает, что теперь вы можете написать что-то вроде:

url:irma:whatever

и правильно связать и обработать его. Однако Outlook покажет диалоговое окно подтверждения безопасности перед выполнением обработчика протокола.

Обновление: Обратите внимание, что в Outlook 2003 с пакетом обновления 3 (SP3) новые протоколы (например, url:, mms:// и т. Д.) Автоматически связываются только в HTML-письмах. Инспектор открытого текста ведет себя так, как описано в моем другом ответе. Однако он работает с обычными текстовыми сообщениями в Outlook 2007 с пакетом обновления 2 (SP2).

Я до сих пор не нашел намеков на возможность простой регистрации пользовательских протоколов в Outlook, которые могли бы работать без префикса url:.

1 голос
/ 01 июня 2009

Обновление: Представленная ниже информация, похоже, устарела. Смотрите мой другой ответ.


Я провел некоторое исследование по этому вопросу в прошлом и пришел к выводу, что это невозможно. Протоколы, которые Outlook может «автоматически связывать», по-видимому, жестко запрограммированы. Результаты моего предыдущего исследования задокументированы в этой ветке новостной группы:

Как сделать пользовательские приложения узнаваемыми в Outlook / Word /...
(опубликовано в апреле-июне 2005 года на сайте microsoft.public.inetsdk.programming.urlmonikers)

Цитата из службы поддержки MS:

К сожалению, распознавание гиперссылок в Office - так что автоформат автоматически преобразует введенный текст в гиперссылку - жестко запрограммировано.
Поэтому вы не можете добавлять новые протоколы к распознаванию.

См. последнее сообщение в этой теме , где приведено краткое описание различий в распознавании URL-адресов между различными программами Office (подсказка: Outlook поддерживает наименьшее количество протоколов).

Вот соответствующие биты, касающиеся Outlook. Следующие шаблоны автоматически распознаются Outlook как ссылки (по состоянию на июнь 2005 года, то есть Outlook 2003):

  1. , если первое слово гиперссылки

    • "www" (например, www.microsoft.com)
    • "ftp" (например, ftp.microsoft.com)
  2. Если гиперссылка начинается с одного из следующих выражений, за которым следует ": /"

    • HTTP
    • 1043 * HTTPS *
    • FTP
    • Суслик
    • Просперо
    • * Telnet * тысяча пятьдесят-один
    • WAIS
    • файл
  3. если гиперссылка начинается с одного из следующих выражений, за которым следует «:» и строка (например, mailto:blah)

    • MAILTO
    • Новости
    • NNTP
    • Прогноз
...