停止控制台应用程序暂停暂停事件

问题描述 投票:-1回答:1

我已经实现了一个小型控制台应用程序,它可以检查程序运行的时间。然后我尝试运行应用程序,一切正常。然而,然后我(意外)击中我的键盘上的“暂停”键,程序停止执行。

有没有办法在控制台应用程序中处理此事件以抑制此暂停?

更新:

class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            Thread.Sleep(2000);
            var p = Process.GetProcessesByName("wineks");
            if (p != null)
            {                   
                Console.WriteLine("Found Process. Close it please");
                Console.ReadKey();
            }
        }
    }
}

这基本上是我的代码。它只是要求用户关闭特定进程。如果我知道在看到消息之前点击键盘上的暂停按钮,则消息将永远不会出现,因为应用程序冻结并且似乎已暂停。从在互联网上浏览我知道我按下的键有名称暂停,键是向控制台发送某种事件或信号。

c# console-application
1个回答
0
投票

实际上控制台没有办法提升KeyPress事件,但你可以尝试一些循环方法来处理意外完成的任何按键操作。请参阅此stackoverflow问题here

尝试在GetProcessByName之前插入这些行

if (Console.KeyAvailable) 
{
    if (ConsoleKey.Pause == Console.ReadKey().Key)
     continue; 
}
© www.soinside.com 2019 - 2024. All rights reserved.