非焦点表单上的 C#/WPF 热键(如 launchy)

Posted

技术标签:

【中文标题】非焦点表单上的 C#/WPF 热键(如 launchy)【英文标题】:C#/WPF hotkey on a not focused form (like launchy) 【发布时间】:2011-06-17 06:50:40 【问题描述】:

是否可以从非焦点表单中捕获热键(例如 Ctrl+Space),以便在有人使用此特定热键时出现;并且无需在注册表上注册此热键。 在应用程序“Launchy”中可以看到类似的事件。

谢谢


语言:C# (WPF) // 操作系统:Windows

【问题讨论】:

【参考方案1】:

您需要调用RegisterHotKey API function。Here 是一个 WPF 包装器。

【讨论】:

感谢您的回答,我使用的是 .net 3.5 =>“System.Diagnostics.Contracts”不可用 @Ars:您可以将这些行替换为if 检查和异常。【参考方案2】:

我认为您需要在 Active 表单中通过处理 KeyDown 事件来做到这一点

【讨论】:

以上是关于非焦点表单上的 C#/WPF 热键(如 launchy)的主要内容,如果未能解决你的问题,请参考以下文章

WPF 窗体快捷键(热键)

WPF 窗体快捷键(热键)

WPF 快捷键(窗体)

C#WPF Windows需要在焦点之前单击

制作“热键”以聚焦 WPF 中的文本框

如何为 WPF 中的工具栏按钮创建热键?