无法捕捉到Lync关闭的时刻

时间:2013-01-17 15:42:45

标签: lync

我正在开发一个能够捕获所有对话并执行操作的应用程序,因此我使用

_lyncClient.ConversationManager.ConversationAdded += ConversationManagerConversationAdded;

但是,即使Lync重新启动,我也希望我的应用程序能够正常运行。所以我使用Timer来检查Lync是否正在运行。

public static bool LyncPresented
{
    get
    {
        try
        {
            _lyncClient = LyncClient.GetClient();
            return true;
        }
        catch(ClientNotFoundException)
        {
            Trace.WriteLine("Can't found a working Lync instance.");
            return false;
        }

    }
}

我第一次在不运行Lync的情况下启动应用程序时可以看到Lync未启动。然后我运行Lync,现在我可以找到它。然后我拒绝Lync,但LyncClient.GetClient()不再抛出异常,我的应用程序仍在考虑Lync可用。

我做错了什么?确定Lync是否正在运行的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

不知道为什么,但以下代码正在运作

public static bool LyncPresented
{
    get
    {
        try
        {
            _lyncClient = LyncClient.GetClient();
            bool dummy = _lyncClient.InSuppressedMode;
            return true;
        }
        catch(ClientNotFoundException)
        {
            Trace.WriteLine("Can't found a working Lync instance.");
            return false;
        }

    }
}

答案 1 :(得分:0)

我建议使用ClientDisconnected事件而不是循环。