在.NET中使用Office Name.dll作为COM对象

时间:2015-03-17 15:29:59

标签: com ms-office contact

我正在尝试将MS Office Name.dll用作COM对象。 我在这些链接中找到了一些帮助,可以在Web浏览器中执行以下操作:

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”。在这些不工作的环境中,使用webbrowser(IE / Firefox)仍然可以正常工作。

有谁知道如何让它发挥作用? 为什么它只适用于旧版本的Office 2010并停止使用较新的版本?

1 个答案:

答案 0 :(得分:0)

我和一位微软办公室工程师谈过,他告诉我这个dll并不是那样用的:它只是用在网页浏览器中。