Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

таймер в консольном приложении win32 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Быстрое преобразование Фурье http://www.cyberforum.ru/cpp/thread247755.html
Доброго времени суток. Пытаюсь реализовать на С++ создание цифрового фильтра методом свертки, при этом использую БПФ, реализованную на http://algolist.manual.ru/maths/fft.php, но получаю странный...
C++ Создание простого "кликера" Здравствуйте, если кому-нибудь не сложно, написать маленькую программку, которая по запуску будет в выбранном активном приложение, нажимать с интервалом в 2 сек поочередно кнопки стрелку влево,... http://www.cyberforum.ru/cpp/thread247726.html
Хеширование C++
Уважаемые коллеги программисты. Мне нужна ваша помощь. Дело в том что я сейчас работаю над одним модулем. В нем я выделяю динамически память. И все эти куски храню в хэш таблице. Проводил тест....
C++ Программные средства автоматической генерации тест-кейсов
Всем доброе время суток! Возникла проблема с написанием дипломной работы. Тема работы "Программные средства автоматической генерации тест-кейсов". Так как в тестирование не очень силен, может кто-то...
C++ Как программно вытянуть инфу о железе на с++ http://www.cyberforum.ru/cpp/thread246460.html
Пардон за флуд, не увидел раздел. Задача вытянуть инфу о железе, т.е. тип,модель, объем по каждой комплектухи, на с++. Буду рад любым идеям, чирканите хоть в какую сторону копать. з.ы. просьба...
C++ C# Есть работа (сервер клиент) Есть программа нужно немножко переделать и добавтить кое какие функции Сервер и клиент! Имееться исходник на прогу. ICQ : 639269775 mail: Leo_need92@bk.ru подробнее

Показать сообщение отдельно
Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
25.02.2011, 13:32
таймер в консольном приложении win32
Как-то я делал когда-то но сейчас не вспоминается (может я и ошибаюсь), там не так просто как в оконных приложениях.

вопрос один: реально ли в консольном приложении сделать так, чтобы программа ожидала некоторое количество времени некую команду (например, getch()) и выполняла некий алгоритм, если дождётся либо выполняла другой алгоритм (ничего не делала), если эта самая "некая команда" не получена?
Вот без таймера, а с событием:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include  <windows.h>
#include <stdio.h>
#include <conio.h>
HANDLE hTimer = NULL;
 
DWORD WINAPI WaitingFor(LPVOID lParam)//функция окончание которой мы ждем, в данном случае getch()
{
    getch();
    SetEvent(hTimer);
    return 1;
}
 
int wmain()
{
    HANDLE MyThread;
    hTimer=CreateEvent(NULL, TRUE, FALSE, L"timer" );//делаем евент
    MyThread=CreateThread(NULL,0,WaitingFor,NULL,0,0);//запускаем в потоке нужную нам функцию
    DWORD res=WaitForSingleObject(hTimer, 10000);//ждем события в данном случае 10сек
    if (res == WAIT_OBJECT_0)//если событие было взведено, тоесть getch() получен
    {
        wprintf(L"WaitForSingleObject() - timer was signaled...\n");//чето делаем
    }
    else
    if (res == WAIT_TIMEOUT)//если ушли по таймауту - убиваем поток и чето делаем
    {
        wprintf(L"WaitForSingleObject() - time out...\n");
        CloseHandle(MyThread);
    }
    else//ну и на случай ошибки
        wprintf(L"WaitForSingleObject() failed, error %d\n", GetLastError());
    return 0;
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru