我用win api创建了一个小窗口。这个窗口是另一个线程窗口的子窗口。Win32 Api WM_MOUSEMOVE快速移动鼠标
我想允许用户通过移动鼠标与预设的右键来移动我的窗口。当我以正常速度移动鼠标时,我的窗口移动时没有问题。但是当我快速移动窗口收到的一些非常奇怪的消息。例如,
P WM_MOUSEMOVE fwKeys:MK_BUTTON XPOS:-32703 yPos:9
正如你所看到的XPOS下降到一个-32000。在我快速移动鼠标后,它几乎立即发生。我不知道Windows如何向我发送这样的消息。
为什么这条消息可能被发送并且如何解决?
我正在使用SetCaption函数,因此即使鼠标停留在外面,我的窗口也会提示消息。
Upd。解决了。问题出在我内在的数学上。从lParam得到hi和lowword是不合适的。
'xPos'是16位的值,当从'lParam'解码'xPos'时,你的数学可能会出现溢出。 –
但是我在Spy ++中看到的那条消息。 – HelloWorld
所以你可能做了一些特殊的事情让窗口移动右键?它可能会导致发送错误的消息。 –