如何使用按键从任何 window 运行 a method/function

How to use keypress to run a method/function from any window

我在 Whosebug 中找到了一种通过按键调用函数的方法,但它只适用于 window 形式。我想知道一种让它在任何 window 中工作的方法。 示例:我在桌面上按 F1 并运行所需的功能(我们可以假设程序已经 运行,但已最小化)。 下面的代码工作正常,但仅适用于 window。 提前致谢。

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {

        switch (keyData)
        {
            case Keys.F1:
                F1Start();
                break;
            case Keys.F2:
                F2Stop();
                break;
        }

        return base.ProcessCmdKey(ref msg, keyData);

您正在寻找的是全局键盘挂钩。

查看已接受的答案here (Global keyboard capture in C# application)