MSDN警告:
不要使用LOWORD或HIWORD宏来提取光标位置的x坐标和y坐标,因为这些宏在具有多个监视器的系统上返回不正确的结果。具有多个监视器的系统可以具有负x和y坐标,而LOWORD和HIWORD将坐标视为无符号数量。
所以我改为使用GET_X_LPARAM和GET_Y_LPARAM,但我的多监视器环境中从未得到负值,值总是相对于窗口的左上角,我如何模拟测试负值?我的操作系统是Win 10 x64,行为会改变吗?
答案 0 :(得分:0)
您只能在主监视器左侧和/或上方的监视器上获得负值。这仅适用于WM_CONTEXTMENU
和WM_NC*
消息,大多数其他非NC鼠标消息都与您的Windows客户端区域相关,而不是屏幕。