我有可以激活或最小化的 ac# 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/
这对我来说非常有用