C# 如何使用按键从任何窗口运行方法/函数

C# 如何使用按键从任何窗口运行方法/函数,c#,process,keypress,C#,Process,Keypress,我在stackoverflow中找到了一种通过按键调用函数的方法,但它只在forms窗口中起作用。我想知道一种方法,使它在任何窗口工作。 示例:我在桌面上按F1键,所需的函数运行(我们可以假设程序已经运行,但最小化)。 下面的代码运行良好,但只在其窗口上运行。 提前谢谢 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { switch (keyData) {

我在stackoverflow中找到了一种通过按键调用函数的方法,但它只在forms窗口中起作用。我想知道一种方法,使它在任何窗口工作。 示例:我在桌面上按F1键,所需的函数运行(我们可以假设程序已经运行,但最小化)。 下面的代码运行良好,但只在其窗口上运行。 提前谢谢

    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);

你要找的是一个全球键盘挂钩


查看已接受的答案

尝试在c#中搜索低级键盘挂钩。可能这就是您想要的