我正在开发一个游戏,客户端需要继续处理 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
消息触发?