0

我可以在其中看到自定义菜单项和自定义对话窗口和事件,但没有提及用户登录 Lync 后您将如何执行代码。这样的 API 存在吗?

我想我的替代方案是使用 Suppressed ui 创建一个 Lync 自动化对象/我自己的客户端,并将我想要的任何功能构建到其中之一?

4

1 回答 1

1

您无法在 Lync 应用程序中构建任何内容,但您可以运行一个单独的应用程序,该应用程序可以订阅用户的登录状态。这样,您就会知道用户何时登录,并可以采取适当的措施。您不需要为此创建 SuppressedUI 应用程序,只需在后台运行的东西,或任务栏或其他东西。

这是一个简单的例子:

namespace ThoughtStuff
{
    class Program
    {
        static void Main(string[] args)
        {

            var client = LyncClient.GetClient();
            client.StateChanged += client_StateChanged;
        }

        static void client_StateChanged(object sender, ClientStateChangedEventArgs e)
        {
            if (e.NewState == ClientState.SignedIn)
            {
                //do something on sign in
            }
        }
    }
}

如果在 Lync exe 未运行时尝试使用 LyncClient.GetClient() 在 SDK 代码中附加到 Lync,您可能会遇到错误......但如果您知道这可能是一个问题(例如,如果您的应用程序可能在用户启动 Lync 之前运行),那么您可以优雅地处理它并在代码中重试。

于 2013-05-24T14:39:37.360 回答