Консультация № 38079
21.03.2006, 08:52
0.00 руб.
0 1 1
Здравствуйте.
Пытаюсь работать с системным таймером из 32-консольного приложения. Функция запуска таймера имеет прототип:

UINT_PTR SetTimer(
HWND hWnd,
UINT_PTR nIDEvent,
UINT uElapse,
TIMERPROC lpTimerFunc);

где 1-й параметр - хэндл создаваемого окна (его возвращает CreateWindow). Вопрос: что я должен туда писать? Ведь для консоли CreateWindow не вызывается. NULL? Но тогда игнорируется 2-й параметр - идентификатор таймера (так написано в MSDN), и как мне тогда задействовать более 1 таймера? И вообще, как корректно работать с системными таймерами из консольных приложений с указанием функций обратного вызова в 4-м параметре? Особенно буду благодарен за ответы с примерами.
Заранее, спасибо.

Обсуждение

Неизвестный
21.03.2006, 09:59
общий
это ответ
Здравствуйте, Arcady0602!
Ну так создай невидимое окно и в его ф-и обработки сообщений работай с таймером! Для того, что бы это работало одновременно с твоим приложением- запускай в отдельный поток. Тут правда могут возникать другие сложности. Для невидимого окна не определяй ему стиль WS_VISIBLE, и не вызывай для него ShowWindow(hwnd,SW_SHOW). Поток создайтся с помощью CreateThread или с помощью _beginthread
Форма ответа