我可以将键盘快捷键转发到停靠在 WPF 窗口中的 lync 对话窗口吗
Posted
技术标签:
【中文标题】我可以将键盘快捷键转发到停靠在 WPF 窗口中的 lync 对话窗口吗【英文标题】:Can I forward keyboard shortcuts to a lync conversation window docked in a WPF window 【发布时间】:2013-10-19 16:08:22 【问题描述】:我正在使用 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)
然后使用
SendKeys.SendWait(keys)
但它仅在对话未停靠时才有效。
【问题讨论】:
【参考方案1】:我们在我正在进行的一个项目中遇到了这个问题。我认为问题在于当窗口失焦时快捷方式被取消注册。我们必须重新注册与该窗口相关的快捷方式。不过我不确定你的快捷方式是如何注册的。
【讨论】:
以上是关于我可以将键盘快捷键转发到停靠在 WPF 窗口中的 lync 对话窗口吗的主要内容,如果未能解决你的问题,请参考以下文章