【问题标题】:integrating IM applications with outlook 2013, events(OnStateChanged etc) not working将 IM 应用程序与 Outlook 2013 集成,事件(OnStateChanged 等)不起作用
【发布时间】:2016-04-13 11:07:42
【问题描述】:

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

当状态发生变化时,调用函数StateChanged()。现在 Outlook 应该采取行动改变状态。但是没有来自前景的电话。 请任何人帮助我为什么 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 没有响应。

【问题讨论】:

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


    【解决方案1】:
    1. OnSateChanged/OnContactInformationChanged 事件是 Outlook 在执行 GetInterface 和 GetContactByUri 调用时注册的事件。

    2. 您只需在您的 LyncClient/联系人状态/联系人信息发生更改时引发事件。

    3. 在引发事件时要小心,因为我们需要传递事件数据,而您的事件数据将决定使用哪个参数调用函数。

    【讨论】:

    • 我面临着类似的问题,我怀疑我传递给事件的数据在某种程度上是无效的。因为除了 OnShuttingDown 事件之外,没有任何事件对我有用。因为 OnShuttingDown 事件不需要任何数据。我正在处理一些新线程上的其他事件。它是否成为事件不起作用的原因?如果需要,我可以分享我的代码以获取详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2023-02-26
    相关资源
    最近更新 更多