【问题标题】:Using Office Name.dll as a COM object in .NET在 .NET 中使用 Office Name.dll 作为 COM 对象
【发布时间】:2015-10-23 04:49:54
【问题描述】:

我正在尝试使用 MS Office Name.dll 作为 COM 对象。 我在这些链接中找到了一些帮助,可以在网络浏览器中执行类似的操作:

https://msdn.microsoft.com/en-us/library/office/ms455335(v=office.14).aspx

http://mcgivery.com/displaying-a-users-lync-status-using-namectrl/

http://blogs.msdn.com/b/tomholl/archive/2013/03/02/integrate-lync-into-your-intranet-sites-using-the-namectrl-plug-in.aspx

name.dll 基本上允许我从 MS Lync 获取状态信息并显示联系人卡片。

我能够成功创建一个引用 name.dll 的测试 Windows 窗体应用程序。 VisualStudio 为我创建了一个 Interop,我可以使用 NameCtrl 类。

项目运行良好,我的测试应用程序能够显示联系人卡片,但仅在使用旧版本的 Office 2010 时。 升级到 Office 2010 SP2 时,它不再工作了。使用 Office 2013 时,它从来没有工作过。

我实际上可以成功实例化对象,但是对象的属性'PresenceEnable'始终为0,并且尝试显示联系人卡片会引发异常“E_ACCESDENIED 0x80070005”。在这些不工作的环境中,使用网络浏览器(IE/Firefox)仍然可以正常工作。

有谁知道如何使它工作? 为什么它只适用于旧版本的 Office 2010 而停止使用新版本?

【问题讨论】:

    标签: com ms-office contact


    【解决方案1】:

    我与一位 Microsoft Office 工程师交谈,他告诉我这个 dll 不打算以这种方式使用:它只打算在网络浏览器中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-16
      • 1970-01-01
      • 2011-10-05
      • 2017-05-01
      • 2010-12-07
      • 1970-01-01
      • 2010-11-08
      • 2012-04-08
      相关资源
      最近更新 更多