Вопрос 1 итерация без return 0 (я не знаю как иначе написать)

  • Автор темы Автор темы niklive
  • Дата начала Дата начала
  • 957

niklive

Знающий
Регистрация
16.06.2022
Сообщения
165
Как заставить работать этот код без цикла, чтобы при этом программа не заканчивала свою работу после нажатия клавиши?

C++:
#include <Windows.h>
#include <iostream>
#include <conio.h>

using namespace std;

bool func1 = false;
bool func2 = false;

void func_1()
{
    if (func1)
    {
        cout << "Func 1: " << func1 << endl;
    }
    else
    {
        cout << "Func 1: " << func1 << endl;
    }
    if (GetAsyncKeyState(VK_F1) & 1)
    {
        func1 = !func1;
    }

}

void func_2()
{
    if (func2)
    {
        cout << "Func 2: " << func2 << endl;
    }
    else
    {
        cout << "Func 2: " << func2 << endl;
    }
    if (GetAsyncKeyState(VK_F2) & 1)
    {
        func2 = !func2;
    }

}

int main()
{
    func_1();
    func_2();
}
 
Использовать цикл, при запуске код читает каждую строку от начала до конца, при циклах идёт ожидания условии, пока та или иная функция не выполнится
 
Использовать цикл, при запуске код читает каждую строку от начала до конца, при циклах идёт ожидания условии, пока та или иная функция не выполнится
Если делать через цикл, тогда программа будет воспроизводить тысячи итераций строчек, которые соответствуют условию. А мне надо чтобы код срабатывал тогда, когда мне надо, а не когда цикл решает.
 
Если делать через цикл, тогда программа будет воспроизводить тысячи итераций строчек, которые соответствуют условию. А мне надо чтобы код срабатывал тогда, когда мне надо, а не когда цикл решает.
Условия выполнения в цикл записывать запрещено?
 
У меня будет много функций и мне надо чтобы некоторые их них выполнялись единожды(по нажатию), а другие были в лупе
Так нельзя?
C++:
while(true){
    if (GetAsyncKeyState(VK_F2) & 1)
    {
        func2();
    }
}

Либо убрать Async
 
Так нельзя?
C++:
while(true){
    if (GetAsyncKeyState(VK_F2) & 1)
    {
        func2();
    }
}

Либо убрать Async
Я скину код, если доделаю. Там сразу понятно будет. А вообще если шаришь за циклы, оставь дс, я расскажу с чем проблема
 
Если делать через цикл, тогда программа будет воспроизводить тысячи итераций строчек, которые соответствуют условию. А мне надо чтобы код срабатывал тогда, когда мне надо, а не когда цикл решает.
хукни peekMessage
 
Я не знаю что это и как это хукнуть. А ещё более непонятно зачем хукать этот код
Эта функция вызывается при каком-либо изменений в окне и вызывается в цикле, ты можешь включить и отключит хук
 
запуск нескольких std::thread с условиями?
 
Назад
Верх Низ