我有以下WndProc
:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM w, LPARAM l)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_MOUSEMOVE:
return 0;
default:
return DefWindowProc(hWnd, message, w, l);
}
}
我想阻止鼠标移动,以便我试图丢弃移动消息。问题是鼠标仍在移动。我也尝试了WM_NCHITTEST
和WM_MOUSEHOVER
。
答案 0 :(得分:7)
WM_MOUSEMOVE
消息只是窗口管理器告诉您鼠标已移动,如果您的应用程序想要对该信息执行某些操作,则可以这样做。 是一种可以拦截鼠标移动并随意取消它们的机制。
答案 1 :(得分:5)
如果您尝试限制光标移动,请查看Windows API中的ClipCursor函数。