C# 即使窗体不可见/关闭,如何使事件处理程序用于键关闭?

C# 即使窗体不可见/关闭,如何使事件处理程序用于键关闭?,c#,visual-studio,winforms,C#,Visual Studio,Winforms,我正在制作一个应用程序,它将控制我的rgb灯光,我希望它能够处理点击特定按键的事件,但我想将其作为后台进程运行 我已经试过使用这个: private void Form1_Load(object sender, EventArgs e) { this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown); } private void Form1_KeyDow

我正在制作一个应用程序,它将控制我的rgb灯光,我希望它能够处理点击特定按键的事件,但我想将其作为后台进程运行

我已经试过使用这个:

    private void Form1_Load(object sender, EventArgs e)
    {
        this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
    }
    private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        if (e.KeyCode == Keys.F9)
        {
            Debug.WriteLine("F9 down");
        }
    }

它可以工作,但只有当窗体窗口处于活动状态且可见时,我才满意。我正在寻找一种即使窗体不可见也能工作的解决方案。

当发生键控事件且窗体未聚焦/处于活动状态时,它将不会检测到该事件。但是,您可以使用WinAPI创建各种类型的密钥侦听器。有关详细信息,请参阅此链接