2012-01-23 9 views
1

私はWPFアプリケーションで作業していますが、sip:[email protected]リンクを開きたいとします。同様のリンク:私は一口を開くことができません、がC#の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 
    } 
} 

:私は、次のコードを使用してのmailtoリンクを開くことができています。私が達成しようとしているのは、Outlookからsip:リンクをたどるときにできるような、ユーザーとの新しいチャットセッションを開くことです。

アイデア?

編集:私はCommunicatorAPIを使用して終了しました。 Messenger.InstantMessage()は私のために働くようです。詳細はこちら:http://msdn.microsoft.com/en-us/library/bb787232.aspx

+0

正常に機能していることを確認してください。あなたの問題を解決できたので、あなたの解決策を編集するのではなく、解答として投稿して、解決して解決することができます。 – Justin

答えて

0

おそらく、プログラムを "sip" URIスキームに関連付ける必要があります。これを試してみてください:Process.Startを使用してhow do I create my own URL protocol? (e.g. so://...)

+0

彼はuriハンドラを実装したくないのでOPを助けませんが、既存の 'sip:'ハンドラを使うだけです! – Yahia

+0

多分それは問題です:no "sip:"ハンドラ。それが私が彼に検証させたかったものです。 – plmaheu

+0

おそらく、このコードを使用する私のオフィスネットワーク内の他のコンピュータではまだ問題があります。残念なことに、それらのほとんどは管理者のアクセス権がないため、レジストリへのアクセス権はありません。 –

1

は(マイクロソフトのLync 2010、コミュニケータの新しいバージョンで)私のシステムで正常に動作します:

新しいチャットウィンドウ開口部に上記のコードの結果を実行する
void Main() 
{ 
    Process.Start("sip:[email protected]"); 
} 

。唯一の例外は、自分自身のユーザー名を入力するときに、自分自身に新しいOutlook電子メールメッセージを作成することです。これを使用するとどうなりますか(おそらくCloseへの次の呼び出しを省略してみてください)。

+0

これは私にとっては何らかの理由で動作しません。これは常に新しいOutlookウィンドウを開きます。基本的にmailtoと同じです。 –

0

LyncまたはOffice Communicatorがインストールされている場合は、sip:uriスキームに適切に応答する必要があります。また、tel:、callto:なども参照してください。完全リストはhereです。

これはWPFアプリケーションからうまくいかないのですか?それは基本的なhtmlページからあなたのために働くか?

+0

いいえ、基本的なHTMLページでも動作しません。 –

0

あなた自身でIMをしようとしていたため、次のコードはおそらくうまくいかなかったでしょう。

Process.Start("sip:[email protected]"); 
関連する問題