2012-01-23 42 views
1

我正在開發一個WPF應用程序,我希望打開sip:[email protected]鏈接。我可以使用以下代碼打開mailto鏈接:來自C#的Open Office Communicator會話#

private void btnSendEmail_Click(object sender, RoutedEventArgs e) 
{ 
    try 
    { 
     string mailURL = String.Format("mailto:{0}", UserDetails.EmailAddress); 
     Process.Start(mailURL); 
     Close(); 
    } 
    catch 
    { 
     // Handle exception 
    } 
} 

雖然,我無法以類似的方式打開sip:鏈接。我試圖實現的是與用戶開啓一個新的聊天會話,就像我在遵循sip:Outlook鏈接時所做的那樣。

任何想法?

編輯:我結束了使用CommunicatorAPI。 Messenger.InstantMessage()似乎適用於我。更多信息請點擊:http://msdn.microsoft.com/en-us/library/bb787232.aspx

+0

很高興看到你的工作。由於您設法解決了您的問題,因此您應該將解決方案作爲答案發布而不是編輯,以便我們可以將其解決並進行識別。 – Justin

回答

0

您可能需要將程序與「sip」uri方案相關聯。試試這個:how do I create my own URL protocol? (e.g. so://...)

+0

這將不會幫助OP,因爲他不想實現一個uri處理程序,但他只想使用現有的'sip:'處理程序! – Yahia

+0

也許這就是問題:沒有「sip:」處理程序。這就是我想讓他驗證的。 – plmaheu

+0

也許,但在我的辦公網絡中的其他計算機上,它仍然會使用此代碼。不幸的是,他們中的大多數不會有管理員訪問權限,因此,無法訪問註冊表。 –

1

使用Process.Start作品罰款我的系統上(與微軟的Lync 2010,Communicator的較新版本):

void Main() 
{ 
    Process.Start("sip:[email protected]"); 
} 

運行在一個新的聊天窗口中打開上面的代碼的結果。唯一的例外是當我輸入自己的用戶名時,它開始向我自己撰寫新的Outlook電子郵件。當你使用這個時會發生什麼(也可以嘗試省略Close的以下調用)。

+0

這由於某種原因不適合我。這總是會打開一個新的Outlook窗口,與mailto基本相同。 –

0

如果您安裝了Lync或Office Communicator,他們應該對sip:uri方案進行適當響應。另外,電話:, callto:等。作爲參考,完整列表是here

這是不是從WPF應用程序爲您工作?它從基本的html頁面爲你工作嗎?

+0

不,從基本的HTML頁面也不工作。 –