【问题标题】:Calling Office Communicator via Silverlight Out of Browser通过浏览器外的 Silverlight 调用 Office Communicator
【发布时间】:2010-08-17 21:05:53
【问题描述】:

当浏览器用完时,我需要直接从 Silverlight 调用 office communicator 来创建聊天窗口和电话。在浏览器中运行时,我这样做并且效果很好:

System.Windows.Browser.HtmlPage.Window.Eval(String.Format("window.open(\"sip:{0}\", target=\"_self\");", sip));

据我所知,当浏览器用完时,通过动态调用 Communicator.UIAutomation 但老实说,我不知道下一步该做什么。

dynamic communicator = AutomationFactory.CreateObject("Communicator.UIAutomation");

有人对如何使这项工作有任何建议吗?搜索结果为零。

【问题讨论】:

    标签: c#-4.0 silverlight-4.0 silverlight-oob office-communicator


    【解决方案1】:

    几个想法:

    您是否尝试过将自动化 Communicator 对象设为 var,然后设置断点并深入研究生成的水合对象?您可能会在对象上找到一些可用于使事情发生的方法或属性。

    有一个博客here 描述了Office Communicator SDK 并有一些示例项目。我认为您也许可以在您的 OOB 应用程序中包含 SDK 程序集,并使用 Microsoft 提供的 SDK 自动化 Communicator。

    【讨论】:

    • 我尝试了“var”技巧,但它设置为自动化,基本上恢复为动态。
    【解决方案2】:

    SDK 必须预先安装在用户机器上。沿着您的 Silverright OOB 应用程序部署它并不容易。

    您将需要SDK。

    您可以在此处查看文档以获取更多详细信息:C:\Program Files (x86)\Microsoft Office Communicator\SDK\OCSDK.chm 它主要是指 C#,但大部分都可以很容易地移植到 Com Automation。作为示例,请查看以下代码以开始对话

    dynamic comm = new ActiveXObject("Communicator.UIAutomation");
    dynamic msgrAdv = comm.IMessengerAdvanced;
    if(msgrAdv!=null)
    {
        try
        {
            object obj = msgrAdv.StartConversation(
                       1, //CONVERSATION_TYPE.CONVERSATION_TYPE_IM,
                       sipUris, // object array of signin names
                       null,
                       "Testing",
                       "1",
                       null);
            windowHandle = long.Parse(obj.ToString());
        }
        catch (COMException ex)
        {
            this.writeToTextBox(
                    formReturnErrors.returnComError(ex.ErrorCode)
        );
    
    }
    

    我希望这会有所帮助。请注意,从帮助文件中的示例中,我更改了 .NET 程序集中定义的一些成员(不能从您的 C# 代码中引用)。如果你需要这个,我建议在 Reflector 中打开 CommunicatorAPI.dll 程序集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多