Я работаю над игрой, в которой клиенту необходимо продолжить обработку сообщений Windows, иначе игру можно будет использовать. Чтобы решить эту проблему во время событий изменения размера окна и перетаскивания, у нас есть сообщение WM_TIMER
, которое запускается каждые 50 мсек, что перезапускает основной цикл событий.
Проблема заключается в том, что этот метод не работает, когда пользователь нажимает и удерживает кнопку X или минимизирует оконного клиента. (Таким образом, они не завершают щелчок, они просто останавливают клиента.)
Используя Spy ++, последние сообщения, которые я вижу:
<00731> 00160D3C P WM_NCLBUTTONDOWN nHittest:HTCLOSE xPos:1150 yPos:178
<00732> 00160D3C P WM_MOUSEMOVE fwKeys:MK_LBUTTON xPos:1014 yPos:-23
Ничего не следует, пока я не переместлю мышь, и нет сообщений WM_TIMER
, пока я не отпущу кнопку мыши.
Итак, вопрос в том, что, когда я нахожу мышь над кнопкой X окна, есть ли что-то, от чего я мог бы отключить, чтобы заставить клиента снова двигаться? Или что-то, что я мог сделать, чтобы наши «сторожевые» сообщения WM_TIMER
сработали?