【发布时间】:2013-08-24 00:34:48
【问题描述】:
我有一个可以激活或最小化的 c# winforms 应用程序。我希望能够捕获并覆盖任何现有的快捷方式,这样无论我的应用程序如何响应“Alt+D”。
如果应用有焦点,我可以使用
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Alt | Keys.D))
{
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
但是当应用程序没有焦点时它不会执行,例如如果我在 Firefox 中,我的 Ctrl D 击键序列不会被激活
我怎样才能让它工作?
理想情况下,我希望能够用鼠标突出显示/在任何应用程序中选择一些文本,然后按 Alt D,然后将此文本发送到我的应用程序。
更新
http://www.fluxbytes.com/csharp/how-to-register-a-global-hotkey-for-your-application-in-c/
这对我很有效
【问题讨论】:
-
我在看this answer,它看起来和你的一样,但它被标记为正确。
标签: c# winforms keyboard-shortcuts