IM客户端与Outlook的集成

IM客户端与Outlook的集成,outlook,Outlook,我试图理解IM客户端与Outlook 2010集成的过程。以下链接用于此目的:- Outlook能够访问我的实现的CreateInstance方法 如果安装了Lync客户端,则控件将到达GetInterfaceMethod,在此方法中,我将返回ILyncClient的对象 此后没有任何进展。outlook调试中显示以下错误: MsoIMProviderFactory--HrEnsureDefaultIMAppRegKeys成功打开注册表项(HKCU-SOFTWARE\IM Providers)

我试图理解IM客户端与Outlook 2010集成的过程。以下链接用于此目的:-

Outlook能够访问我的实现的CreateInstance方法

  • 如果安装了Lync客户端,则控件将到达GetInterfaceMethod,在此方法中,我将返回ILyncClient的对象
  • 此后没有任何进展。outlook调试中显示以下错误:

    MsoIMProviderFactory--HrEnsureDefaultIMAppRegKeys成功打开注册表项(HKCU-SOFTWARE\IM Providers)

    CMsoIMProviderFactory--HrEnsureDefaultIMAppRegKeys成功查询注册表项(HKCU-SOFTWARE\IM Providers DefaultIMApp-IMapp)

    CMsoIMProviderFactory--HrEnsureDefaultIMProcessRegKey成功打开注册表项(HKCU-SOFTWARE\IM Providers\IMapp)

    CMsoIMProviderFactory--HrEnsureDefaultIMProcessRegKey成功打开注册表项(HKLM-SOFTWARE\IM Providers\IMapp)

    CMsoIMProviderFactory——使用(IMapp)进程名称进行搜索的进程列表

    CMsoIMProviderFactory——使用(IMapp)进程名称进行搜索的进程列表

    请各位就同样的问题给出反馈

  • 若我并没有安装Lync客户端,那个么控件将永远无法访问身份验证方法 我们是否也需要实现IMessenger接口

    B.如果是,请给出一些关于如何做到这一点的建议

    任何解决这个问题的指针都会很有帮助

    对于构建COM服务器,我们使用进程外COM示例(CSExeCOMServer)。我在outlook 2013中也尝试了相同的设置。在这种情况下,输出也保持不变

    环境:-

    Windows 7服务包1

    展望2010和2013年

  • 您总是需要在计算机中安装Lync,因为代码中使用的接口是由Lync定义的。如果要删除此依赖项,则必须在系统中注册typelibrary(.tlb)。要生成.tlb,您需要一个.idl文件,您可以在网上探索如何获取该文件
  • 如果您想成为IM提供商,则无需实现此IMessenger接口。但是,如果您想以传统的提供者的方式工作,您必须实现这个接口(这是我没有尝试过的)
  • 为了解决您的问题,我需要一段代码片段,作为您定义LyncClient类的方式。一旦你分享了,我会尽力帮助你
  • 我在outlook 2010和2013中都能做到这一点,但后来我使用C#方式实现COM服务器