powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / SetTimer
9 сообщений из 9, страница 1 из 1
SetTimer
    #34895098
MacKintosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я обращаюсь к функции SetTimer
Код: plaintext
1.
SetTimer(NULL,  0 , 1 ,&(TIMERPROC)SignOfLifeProc);
Процедура SignOfLifeProc выглядит просто:
Код: plaintext
1.
2.
3.
4.
5.
void CALLBACK SignOfLifeProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
		int i =  4 ;
		i++;
}
:
В случае если я помещаю следующую строчку сразу после SetTimer, SignOfLifeProc вызывается:
Код: plaintext
	::MessageBox(NULL, "timer", "SMS", MB_OK);
В сдучае если этой строчки нет, SignOfLifeProc игнорируется. Что бы это могло быть?
...
Рейтинг: 0 / 0
SetTimer
    #34895138
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MacKintoshЯ обращаюсь к функции SetTimer
В случае если я помещаю следующую строчку сразу после SetTimer, SignOfLifeProc вызывается:
Код: plaintext
	::MessageBox(NULL, "timer", "SMS", MB_OK);
В сдучае если этой строчки нет, SignOfLifeProc игнорируется. Что бы это могло быть?

Это может быть отсутствие очереди сообщений как таковой. Вам надо изучить правила работы с очередью сообщений Windows. Почитайте азы по WinAPI.
...
Рейтинг: 0 / 0
SetTimer
    #34895185
MacKintosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий Широков
Это может быть отсутствие очереди сообщений как таковой.
Ну и откуда она берётся, если всё, что я делаю это добавляю вызов MessageBox?
...
Рейтинг: 0 / 0
SetTimer
    #34895215
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MessageBox как полноценное окно имеет ассоциированный с ним обработчик сообщения, где по default-у обрабатываются все оконные сообщения, в том числе и WM_TIMER.
...
Рейтинг: 0 / 0
SetTimer
    #34895263
MacKintosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. То есть если в качестве hWnd я указываю NULL, таймер будет обработан очередью сообчений первого попавшегося окна. А если такового нет, то ...
...
Рейтинг: 0 / 0
SetTimer
    #34896777
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MacKintosh пишет:
> Спасибо. То есть если в качестве hWnd я указываю NULL, таймер будет
> обработан очередью сообчений первого попавшегося окна. А если такового
> нет, то ...

Таймер без окна обрабатывается посылкой сообщения WM_TIMER без окна.
Оно обрабатывается в DefWindowProc (которому должны передаваться все
необработанные в приложении сообщения) и оттуда вызывается твоя процедура.
Если очереди сообщений нет, DefWindowProc не вызывается и соотв. таймер не
работает. Но ты можешь вызвать DefWindowProc сам, когда наступит время таймера :-)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SetTimer
    #34897424
MacKintosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Но ты можешь вызвать DefWindowProc сам, когда наступит время таймера :-)

Не врубаюсь... Это что - с часами стоять?
...
Рейтинг: 0 / 0
SetTimer
    #34897810
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MacKintosh пишет:
> Но ты можешь вызвать DefWindowProc сам, когда наступит время таймера :-)
> Не врубаюсь... Это что - с часами стоять?

Ага ! С секундомером !
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SetTimer
    #34897842
MacKintosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
MacKintosh пишет:
> Но ты можешь вызвать DefWindowProc сам, когда наступит время таймера :-)
> Не врубаюсь... Это что - с часами стоять?

Ага ! С секундомером !
Posted via ActualForum NNTP Server 1.4
Блестящая идея!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / SetTimer
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]