Закрытие консольного окна только при взаимодействии с ним

Написал простой таймер на С++ и столкнулся с тем, что когда я не взаимодействую с консолью, но при этом нажимаю определенные клавиши на клавиатуре, консоль выполняет команды. В частности, если программа запущена, я ее сверну и буду пользоваться другой программой, то при нажатии ESC у меня выполняется выход в моем таймере. Как сделать так, чтобы моя программа реагировала на клавиши клавиатуры только, если я ей пользуюсь?

#include <windows.h>
#include <WinUser.h>
#include <iostream>
#include <locale.h>


using namespace std;



int menu()
{
    system("cls");
    cout << "Добрый день! Добро пожаловать в приложение Timer\n";
    cout << "Пожалуйста, нажмите ENTER, чтобы начать отсчет\n";
    cout << "Если хотите выйти, то нажмите ESC\n";
    while (1)
    {
        if (GetAsyncKeyState(VK_RETURN)) return 1;
        if (GetAsyncKeyState(VK_ESCAPE)) return 0;
    }
}

int timer()
{
    system("cls");
    int s = 0;
    int m = 0;
    cout << "Если хотите выйти, то зажмите ESC\n";
    while (m!=25)
    {
        if (GetAsyncKeyState(VK_ESCAPE)) return 3;
        Sleep(1000);
        s++;
        if (s%60==0 && s != 0)
        {
            m++;
            s = 0;
        }
        cout << m << " Минут " << s << " Секунд\r";
    }
    cout << '\a';
    return 2;
}

int Break()
{
    system("cls");
    cout << "Уже прошло 25 минут! Отдохните 5 минут и возвращайтесь к работе :)\n";
    int s = 0;
    int m = 0;
    cout << "Если хотите выйти, то нажмите ESC\n";
    while (m != 5)
    {
        if (GetAsyncKeyState(VK_ESCAPE)) return 3;
        Sleep(1000);
        s++;
        if (s % 60 == 0 && s != 0)
        {
            m++;
            s = 0;
        }
        cout << m << " Минут " << s << " Секунд\r";
    }
    cout << '\a';
    return 1;
}

int main()
{
    system("color 02");
    system("mode con cols=80 lines=10");
    setlocale(LC_ALL, "RUSSIAN");
    int a = 3;
    tryA:
    if (a == 1)
    {
        a=timer();
        goto tryA;
    }
    if (a == 2)
    {
        a=Break();
        goto tryA;
    }
    if (a == 3)
    {
        a = menu();
        goto tryA;
    }
    return 0;
}

Ответы (0 шт):