【问题标题】:How to make event handler for key down even if form is not visible/closed? [duplicate]即使表单不可见/关闭,如何制作按键事件处理程序? [复制]
【发布时间】:2020-01-23 21:36:15
【问题描述】:

我正在制作一个可以控制我的 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");
        }
    }

它有效,但前提是表单窗口处于活动状态且可见,所以我不满意。我正在寻找一种即使表单不可见也能正常工作的解决方案。

【问题讨论】:

    标签: c# visual-studio winforms


    【解决方案1】:

    当 keydown 事件发生且表单未聚焦/未激活时,它不会检测到该事件。但是,您可以使用 Win API 创建各种密钥侦听器。有关"Global Hotkeys" 的更多详细信息,请参阅此链接。

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多