从C#打开Office Communicator会话

时间:2012-01-23 11:06:26

标签: c# sip office-communicator

我正在开发一个WPF应用程序,我希望打开sip:Username@company.com链接。我可以使用以下代码打开mailto链接:

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:链接。我想要实现的是与用户打开一个新的聊天会话,就像我在关注来自Outlook的链接时所做的那样。

有什么想法吗?

编辑:我最终使用了CommunicatorAPI。 Messenger.InstantMessage()似乎对我有用。更多信息:http://msdn.microsoft.com/en-us/library/bb787232.aspx

5 个答案:

答案 0 :(得分:1)

使用Process.Start在我的系统上运行正常(使用Microsoft Lync 2010,更新版本的Communicator):

void Main()
{
    Process.Start("sip:username@company.com");
}

运行上面的代码会导致新的聊天窗口打开。唯一的例外是当我输入自己的用户名时,它开始向自己编写一封新的Outlook电子邮件。使用此功能时会发生什么(也可能尝试省略以下对Close的调用)。

答案 1 :(得分:0)

您可能需要将程序与“sip”uri方案相关联。试试这个:how do I create my own URL protocol? (e.g. so://...)

答案 2 :(得分:0)

如果安装了Lync或Office Communicator,他们应该对sip:uri方案做出适当的响应。另外,tel:,callto:等。作为参考,完整列表是here

这不适用于WPF应用程序吗?它是否适用于基本的html页面?

答案 3 :(得分:0)

我最终使用了CommunicatorAPI。 Messenger.InstantMessage()似乎对我有用。更多信息:http://msdn.microsoft.com/en-us/library/bb787232.aspx

答案 4 :(得分:0)

以下代码可能不适合您,因为您试图自己进行IM。

Process.Start("sip:username@company.com");