2013-03-28 3 views
1

У меня есть приложение C++, и я хочу вызвать функцию каждые 1 минуту. У меня есть этот код из одного друга (спасибо ему)Использование таймера

void CALLBACK f(HWND hwnd, UINT uMsg, UINT timerId, DWORD dwTime) 
{ 
    printf("Hello"); 
} 

int main() 
{ 
    MSG msg; 

    SetTimer(NULL, 0, 1000*60,(TIMERPROC) &f); 
    while(GetMessage(&msg, NULL, 0, 0)) { 
    TranslateMessage(&msg); 
    DispatchMessage(&msg); 
    } 
//Here I have the rest of my appliation 
    return 0; 
} 

, но я не могу выполнить остальную часть моей программы после while.So, я искал решение, чтобы выполнить весь код и функция f каждую минуту.

+0

Третий вопрос о таймере в этот день! – Xearinox

ответ

0

Вы используете сообщения таймера окна. Ваше приложение останавливается на GetMessage, пока WM_QUIT не отправляется в очередь потоков.

Самый простой способ - использовать поток и вызвать f там, а затем спать на минутку.

Смежные вопросы