将IM应用程序与Outlook 2013集成,事件(OnStateChanged等)无法正常工作

时间:2016-04-13 11:07:42

标签: c# outlook office-interop lync-2013

我根据文章" https://msdn.microsoft.com/en-us/library/office/jj900715.aspx?f=255&MSPPError=-2147217396"为Outlook 2013(64位)实现了IM客户端(32位)。 IM APP与outlook合作良好。

当状态和状态发生变化时调用函数StateChanged()。现在前景应该采取行动改变国家。但是没有来自前景的电话。 请任何人帮助我为什么outlook没有调用任何API(如OnContactInformationChanged)。

OnStateChanged += OnOnStateChanged ;
Public void StateChanged(){ 
        ClientState _previousClientState = this._State;
        this._State = ClientState.ucClientStateSignedOut;
        IMClientStateChangedEventData eventData = new IMClientStateChangedEventData(_previousClientState, this._State);
        //Raise the event for state change
        OnStateChanged(this as Client, eventData as     ClientStateChangedEventData);
}

public static void OnOnStateChanged(Client _eventSource,  ClientStateChangedEventData _eventData)
    {

    }

我也尝试提升OnContactInformationChanged()但没有来自outlook的回复。

1 个答案:

答案 0 :(得分:0)

  1. OnSateChanged / OnContactInformationChanged事件是Outlook在GetInterface& amp; GetContactByUri调用。

  2. 您需要在LyncClient / Contact状态/联系信息发生变化时引发事件。

  3. 在提升事件时要小心,因为我们需要传递事件数据,而事件数据将确定将使用哪个参数调用函数。