我正在使用Lync 2013 SDK和WPF,以便将工具栏添加到Lync对话窗口.
我确实按照本教程http://msdn.microsoft.com/en-us/library/lync/jj933086.aspx将Lync对话窗口停靠在WindowFormHost内的面板中.
现在我可以在WPF窗口中添加自定义功能.
问题是对话会导致所有Lync对话窗口快捷方式以奇怪的方式运行.默认情况下,它们不再工作,即使我尝试关注停靠的对话窗口,它们仍然无法正常工作,但是当我关注此窗口的控件时,它们会重新开始工作.
我需要他们在我的WPF窗口或停靠的Lync对话窗口中工作.
我尝试使用一些user32.dll函数来使用对话窗口句柄IntPtr调用这些快捷方式,但它不起作用.
我也试过用
SetForegroundWindow(_automation.GetConversationWindow(convertion).Handle)
Run Code Online (Sandbox Code Playgroud)
然后使用
SendKeys.SendWait(keys)
Run Code Online (Sandbox Code Playgroud)
但它只在对话没有停靠时才有效.
我使用lync Sdk在我自己的wfp应用程序中停靠Lync对话.问题是,当我尝试将对话停靠时:
public void Dock(Conversation conversation, IntPtr host)
{
try
{
ConversationWindow window = _automation.GetConversationWindow(conversation);
if (window.State == ConversationWindowState.Initialized)
{
window.Dock(host);
}
}
catch (Exception ex)
{
}
}
Run Code Online (Sandbox Code Playgroud)
有时候窗口.验证和对接之间的状态变化以及在Windows 8上生成的异常似乎是不可捕获的并且导致我的应用程序崩溃,在Windows 7上异常只是捕获.
例外是Microsoft.Lync.Model.NotInitializedException类型
当我尝试获取这样的可用音频设备列表时.
LyncClient client = LyncClient.GetClient();
foreach (Device dev in client.DeviceManager.AudioDevices)
{
//Do something
}
Run Code Online (Sandbox Code Playgroud)
我收到了错误 Exception has been thrown by the target of an invocation.
"Unable to cast COM object of type 'System.__ComObject' to interface type
'Microsoft.Office.Uc.IAudioDevice2'. This operation failed because the QueryInterface
call on the COM component for the interface with IID '{86B3E5FE-4635-4C1E-
A725-C80B71D04984}' failed due to the following error: No such interface supported
(Exception from HRESULT: 0x80004002 (E_NOINTERFACE))."
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) …Run Code Online (Sandbox Code Playgroud) VS2015对开发Skype for Business(Lync 2013 SDK)应用程序有任何限制吗?
当我尝试安装Lync 2013 SDK时,出现"未找到Microsoft Visual Studio 2010 SP1或更高版本"的错误.
我需要企业版吗?
visual-studio lync-client-sdk lync-2013 visual-studio-2015 skype-for-business