Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Измерение времени после ввода символа

Пишу программу, которая получает на ввод текст. Если я ничего не пишу, то через n секунд на экран вылетает сообщение о моём бездействии. Как можно реализовать такой таймер, который будет включаться после ввода каждой буквы?


Ответ

#pragma warning(disable: 4996)
#include #include #include #include
using namespace std;
const int how_many_seconds_should_go = 2;//Интервал проверки 2 секунды
bool bTimerSec(time_t start_time, const int& how_many_seconds_should_go) { return time(0) == start_time + abs(how_many_seconds_should_go); }
void checkThread(LPVOID param) { bool bFlag = false; int time_;
while (true) { if (!bFlag) { time_ = time(0); bFlag = true; } else { if (bTimerSec(time_, how_many_seconds_should_go)) { MessageBox(0, "Вы бездействуете!", "", 0); return; } }
Sleep(1); } }
int main() {
string s; HANDLE hThread = 0;
while (cin >> s) { if (hThread) { TerminateThread(hThread, 0); }
hThread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)checkThread, 0, 0, 0);
}
while (true) { Sleep(1); }
return 0; }

Комментариев нет:

Отправить комментарий