| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > таймер |
| Автор: Robin 5.5.2007, 09:22 |
| нужно сделать таймер, который по истечении N времени сделает printf("rimer test successful" ); какие функции юзать? если просто взять локалтайм, то будет геморно проверять каждый раз время, так как если таймер будет на несколько часов, придется каждые несколько минут сверять время |
| Автор: ama_kid 5.5.2007, 10:12 |
| Две статьи о таймерах: http://msdn2.microsoft.com/en-us/library/ms644900.aspx и http://msdn2.microsoft.com/en-us/library/ms644901.aspx Правда, для приложений без цикла обработки сообщений (консольных) - http://support.microsoft.com/kb/102482. Имхо надо использовать http://msdn2.microsoft.com/en-us/library/ms724408.aspx |
| Автор: Snowy 5.5.2007, 11:00 |
| А просто Sleep не подойдёт? |
| Автор: archimed7592 5.5.2007, 11:14 | ||
вполне себе кросс-платформенное решение на с++:
|
| Автор: -Kp0T- 5.5.2007, 12:12 | ||
Задержка в 1000 мс:
|
| Автор: dumb 5.5.2007, 14:04 |
чем Sleep-то не угодил? |
| Автор: -Kp0T- 6.5.2007, 01:23 | ||
Sleep() - тоже фунцкия, просто предложил альтернативу. Да простят меня модераторы... |
| Автор: Kornev 6.5.2007, 04:18 |
| А почему не подходит Win32 Project, Typical "Hello Word" Application, и стандартные пара строчек: В самом верху #define IDT_TIMER1 1111111111111 #define IDT_TIMER2 2222222222222 И в цикле обработки сообщений case WM_CREATE: SetTimer(hWnd,IDT_TIMER1,5001,(TIMERPROC) NULL); SetTimer(hWnd,IDT_TIMER2,8000,(TIMERPROC) NULL); break; case WM_TIMER: switch (wParam) { case IDT_TIMER1: MessageBox(hWnd, "11", "11", IDOK); return 0; case IDT_TIMER2: MessageBox(hWnd, "22", "22", IDOK); return 0; } |