Реализация сочетания клавиш в консоли

108
08 мая 2021, 17:50

Подскажите, а как можно реализовать работу сочетаний клавиш в консоли?

Например, если набрать команду:

ping "blablabla" /t

и через какое-то время сочетание CTRL+PAUSE, то вылетит статистика на текущий момент, но сам ping продолжит выполняться дальше => такой функционал реализуем.

Answer 1

Конкретно для Ctrl+Break есть специальное событие Console.CancelKeyPress. Произвольные сочетания клавиш можно реализовать, вызывая в цикле Console.ReadKey:

static void Main(string[] args)
{
    while (true)
    {
        var key = Console.ReadKey();
        if (key.Modifiers.HasFlag(ConsoleModifiers.Alt) && key.Key == ConsoleKey.A)
        {
            //Alt+A
        }            
    }
}
READ ALSO
Упрощение кода по нажатию на элемент C#

Упрощение кода по нажатию на элемент C#

только начинаю работать с C#, тут возник вопросУ меня есть тут много элементов (стрелок), у которых действия при нажатии почти идентичны, лишь...

112
Checklist с доп значениями

Checklist с доп значениями

Можно ли как то реализовать checklist, что бы отображался один текст, и к нему привязана другая строка? Опишу по подробнее, начал осваивать С#Есть...

81
Как применить один HTML тело 2 и более .php файлу?

Как применить один HTML тело 2 и более .php файлу?

Я делал блог (тестовое задание) используя MVC архитектуру и HTML тело прописал на View (show_mainphp здесь и Bootstrap, CSS, JS файлы подключены)

82