我正在基于自定义命令为 Lync 2013 开发一个小型解决方案。
简而言之:我向 Lync 添加了一个按钮。右键单击联系人并从对话窗口中可以看到该按钮。
我希望能够在单击按钮时获得相关的联系人\对话。
%contact-id%
右键单击联系人效果很好。我的EXE启动了,一切都很好。
但是,在公开对话中使用它会完全阻止 EXE 启动。
如果我删除%contact-id%
,我的 EXE 会启动,但是我没有相关的联系人。
难道我做错了什么?我如何获得这些信息?
(我确实看到了一种方法,它建议有一个 Windows 服务来跟踪 Lync 打开的窗口,然后知道将 hWnd 映射到对话。我真的不想去那里。这对我的需要来说太复杂而且太大了。另外,我不确定它是否适用于 Lync 2013,因为所有对话都在同一个选项卡中)
我也尝试使用对话窗口扩展,但似乎有同样的问题。
我以为我可以将上下文数据发送给当前对话的其他联系人,但我没有找到获取当前对话的方法,因此我无法使用beginSendContextData
.
更新:
我设法获得上下文对话,使用 LyncClient.GetHostingConversation()
但是使用 CWE 会导致非常糟糕的用户体验。有没有办法在没有 CWE 的情况下进行托管对话..?