2009-05-19 73 views
6

早上好,註冊Outlook識別的自定義URL協議處理程序?

我已經成功地創建了一個小的應用程序,它本身註冊一個自定義的URI協議(「IRMA:」)下的MSDN項下的http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx

打開此類鏈接時,該工作完全正常手動通過shell/cmd等,但發送這樣的鏈接時,Outlook無法識別那些設置了註冊表項的客戶端上的'自動'。我需要做些額外的事情才能讓前臺處理這種自定義的uri嗎?或者完全有可能嗎?

歡呼和感謝, -j

回答

12

[OK,我會後這是一個新的答案,以保持這一個乾淨的,但不刪除所有以前發佈的內容。]

我剛纔repea在我的其他答案中提到了這項研究,似乎在過去三年中情況有了很大改善。在Outlook 2003(SP3)和Outlook 2007(SP2)中,現在自動識別在我的舊回答鏈接的NG線程中引用的MS產品支持郵件中列出的所有協議,包括url:-協議!

後者意味着你現在可以寫類似:

url:irma:whatever 

,並讓它正確linkified和處理。然而,Outlook在執行協議處理程序之前會顯示一個安全確認對話框。

更新:需要注意的是在Outlook 2003 SP3的新的協議(例如url:mms://等)僅自動linkified在HTML郵件。純文本檢查器的行爲如我的其他答案中所述。但是,它可以在Outlook 2007 SP2中使用純文本郵件。

但是,我仍然沒有發現在Outlook中簡單註冊自定義協議的能力,但無需使用url: -prefix即可使用。

+0

Oooh ..感謝您的信息!我從Outlook MVP得到了一些信息,並且您實際上目前無法添加完全自己的網址。但我不知道url:prefix ...這是至少有一種方法來處理我所需要的。謝謝奧利弗! – 2009-06-03 14:59:11

1

更新:出現下面展示的信息由現在已經過時。看到我的其他答案。


我在過去做了一些研究,得出的結論是不可能的。 Outlook能夠「自動鏈接」的協議顯然是硬編碼的。 我以前的研究結果都記錄在這個新聞組主題:

How to make custom APPs recognizable by Outlook/Word/...
(發佈2005年microsoft.public.inetsdk.programming.urlmonikers四月至六月)從MS產品支持

報價:

不幸的是,Office中的超鏈接識別功能(使自動格式自動將輸入的文本轉換爲超鏈接)是硬編碼的。
因此,您無法將新協議添加到識別中。

請參閱last post in that thread以瞭解各個Office程序(提示:Outlook支持最少的協議)之間URL識別差異的摘要。

這裏是關於Outlook的相關位。下面的模式被自動識別爲通過Outlook中的鏈接(在2005年,如Outlook 2003年6月):

  1. 如果一個超鏈接的第一個字是

    • 「WWW」(例如www.microsoft。 com)
    • 「ftp」(例如ftp.microsoft。COM)
  2. 如果超級鏈接利用下列表達式之後的一個開始 「:/」

    • HTTP
    • HTTPS
    • FTP
    • 普洛斯彼羅
    • telnet
    • 個WAIS
    • 文件
  3. 如果超鏈接利用下列表達式後跟中的一個開始「:」和一個字符串(例如mailto:blah

    • 的mailto
    • 新聞
    • NNTP
    • 前景
相關問題