使用代码取消Console.ReadKey(),而不是在程序中

时间:2013-08-18 21:20:31

标签: c# input console console.readkey readkey

所以让我们使用这段代码:

Console.ReadKey(true);
//Cancel the ReadKey prompt
Console.WriteLine("ReadKey was cancelled.");

运行程序时,唯一应该发生的是输出ReadKey was cancelled.。我怎样才能做到这一点?它甚至可能吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

除非您中止线程,否则无法取消ReadKey。 (强制关闭程序。)

在调用ReadKey之前,我使用Console.KeyAvailable属性检查密钥是否可用。

答案 1 :(得分:1)

我能看到你能做到这一点的唯一方法就是使用System.Windows.Forms.SendKeys.Send(),但是对于控制台应用程序来说这不是“开箱即用”,因为它们不管理窗口消息,如果你尝试它,你会看到异常。可以使用Windows API自己实现这一点。