【问题标题】:Open Office Communicator Session from C#从 C# 打开 Office Communicator 会话
【发布时间】:2012-05-15 23:43:35
【问题描述】:

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

有什么想法吗?

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

【问题讨论】:

  • 很高兴看到您成功了。由于您设法解决了您的问题,因此您应该将您的解决方案发布为答案而不是进行编辑,以便我们可以投票并将其识别为已解决。

标签: c# sip office-communicator


【解决方案1】:

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

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

运行上述代码会打开一个新的聊天窗口。唯一的例外是当我输入自己的用户名时,它开始为自己撰写新的 Outlook 电子邮件。当你使用它时会发生什么(也许也可以尝试省略以下对Close的调用)。

【讨论】:

  • 由于某种原因,这对我不起作用。这总是会打开一个新的 Outlook 窗口,与 mailto 基本相同。
【解决方案2】:

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

【讨论】:

  • 这对 OP 没有帮助,因为他不想实现 uri 处理程序,但他只想使用现有的 sip: 处理程序!
  • 也许这就是问题所在:没有“sip:”处理程序。这就是我希望他验证的。
  • 也许,但在我的办公网络中使用此代码的其他计算机上仍然会出现问题。不幸的是,他们中的大多数人没有管理员权限,因此无法访问注册表。
【解决方案3】:

如果您安装了 Lync 或 Office Communicator,它们应该适当地响应 sip: uri 方案。另外,tel:、callto: 等。供参考,完整列表为here

这对 WPF 应用程序不起作用吗?它适用于您的基本 html 页面吗?

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      以下代码可能对您不起作用,因为您尝试自己进行 IM。

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

      【讨论】:

        猜你喜欢
        • 2012-06-18
        • 2011-10-14
        • 2023-03-24
        • 1970-01-01
        • 2012-02-11
        • 2018-02-22
        • 1970-01-01
        • 2017-01-29
        • 2014-12-04
        相关资源
        最近更新 更多