在 C# 控制台应用程序中处理按键事件
在 C# 控制台应用程序中,与其他 GUI 相比,检测按键按下需要稍微不同的方法 -基于应用程序。为此,我们可以利用 ConsoleKeyInfo 对象。
焦点管理解决方案
如果您的控制台应用程序是活动且聚焦的窗口,您可以使用以下代码:
public class Program { public static void Main() { ConsoleKeyInfo keyInfo; do { keyInfo = Console.ReadKey(); Console.WriteLine($"{keyInfo.Key} was pressed"); } while (keyInfo.Key != ConsoleKey.X); } }
这段代码声明了一个 ConsoleKeyInfo 变量 keyInfo 并进入循环。在循环中,Console.ReadKey() 读取按下的键并将其显示在控制台屏幕上。循环一直持续到按下“x”键为止,该键充当退出条件。
使用 Windows Hooks 的系统范围按键事件
如果您想要收集系统范围的按键事件(即,无论哪个应用程序具有焦点),您可以使用 Windows 挂钩。例如,您可以使用 SetWindowsHookEx 函数创建键盘挂钩。然而,这种方法需要更复杂的低级编程,超出了本次讨论的范围。
以上是如何处理 C# 控制台应用程序中的按键操作?的详细内容。更多信息请关注PHP中文网其他相关文章!