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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
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
286 / 146 / 16
Регистрация: 13.10.2009
Сообщений: 164
01.03.2011, 17:59
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
33
34
35
#include "stdafx.h"
#include  <windows.h>
#include <stdio.h>
#include <conio.h>
HANDLE hTimer = NULL;
int e;//чтобы получить результат с потока, то она должна быть либо глобальной, либо видимой в двух потоках
 
DWORD WINAPI WaitingFor(LPVOID lParam)//функция окончание которой мы ждем, в данном случае getch()
{
    printf("%s",lParam);//вывод параметра заданого в функцию
    e=getch();//e- результат функции getch()- код символа
    SetEvent(hTimer);
    return 1;
}
 
int wmain()
{
    HANDLE MyThread;
    hTimer=CreateEvent(NULL, TRUE, FALSE, L"timer" );//делаем евент
    MyThread=CreateThread(NULL,0,WaitingFor,"parametr",0,0);//запускаем в потоке нужную нам функцию, следующий параметр передается в функцию... (параметр может быть любого типа который преобразуется в LPVOID и обратно), то есть почти все.
    DWORD res=WaitForSingleObject(hTimer, 10000);//ждем события в данном случае 10сек
    if (res == WAIT_OBJECT_0)//если событие было взведено, тоесть getch() получен
    {
        wprintf(L"WaitForSingleObject() - timer was signaled...\n%c",e);//чето делаем, а точнее выведем букву полученую с getch();
    }
    else
        if (res == WAIT_TIMEOUT)//если ушли по таймауту - убиваем поток и чето делаем
        {
            wprintf(L"WaitForSingleObject() - time out...\n");
            CloseHandle(MyThread);
        }
        else//ну и на случай ошибки
            wprintf(L"WaitForSingleObject() failed, error %d\n", GetLastError());
    return 0;
}
p.s. уже под коньяком, если что-то не так - пиши в личку - отвечу, или сюда, отвечу - завтра/послезавтра

Если надо несколько параметров передать, смотрите направление - передача нескольких параметров в поток. (Подробнее смогу ответить не сегодня =) хотя там все просто)
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.