Я программирую с winapi. Как мне ждать сообщения в течение определенного времени?
Если сообщения нет, я могу выполнить другое задание. Я не могу использовать Sleep, потому что процедура обратного вызова окна будет отложена.
while (true){
...//wait a message for 30 miliseconds
GetMessage(&message, hwnd, 0, 0) ) or PeekMessage(&message, hwnd, 0, 0, PM_REMOVE)
...
if ( no_message ){
call_a_function();
} else {
if (finish)
break;
TranslateMessage(&message);
DispatchMessage(&message);
...//set to wait 30 minus elapsed time
}
}