窗体处于非活动状态时的Keydown事件

本文关键字:Keydown 事件 活动状态 于非 窗体 | 更新日期: 2023-09-27 18:01:57

如何捕获非活动表单的Keydown事件?

我找到了ProcessKeyDown的参考资料,但我找不到任何帮助。

窗体处于非活动状态时的Keydown事件

请将表单的KeyPreview设置为true。首先选择表单并按f4键,它将打开属性窗口,它们是KeyPreview并将其设置为true。

右键单击表单并单击属性,然后将出现flash按钮,它用于该对象的事件。找到他们的Keypress事件。只需双击该事件对应的列。它将为按键创建事件。

有关文档和帮助,请查看此链接

按键事件只发送给具有输入焦点的控件。你可以使用控件。属性来确定控件是否有焦点。使用control . focus()方法为控件指定焦点

您可以使用SetWindowsHookEx()设置一个低级键盘钩子来侦听按键事件。

如果您想做的是在操作系统中按下键时触发程序中的一些代码,以判断表单是否处于活动状态,那么您可以使用本文中描述的方法:

c#处理全局鼠标和键盘钩子

下面是一个简单的程序示例,使用该库通过按numpad上的数字键来模拟虚拟鼠标。'1'-'4'和'6'-'9'为方向键,'5'为左键点击,'0'为双击。

Program.cs

Form1.cs

注意我没有调用Application.Run();使用一个新的Form1()参数,这样应用程序将运行,但不会在屏幕上可见。要结束程序,您必须按CTRL+SHIFT+ESC,进入进程页面并手动结束进程。