WM_MOUSEMOVE消息处理

时间:2012-07-21 22:44:04

标签: c winapi wndproc

我有以下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_NCHITTESTWM_MOUSEHOVER

2 个答案:

答案 0 :(得分:7)

WM_MOUSEMOVE消息只是窗口管理器告诉您鼠标已移动,如果您的应用程序想要对该信息执行某些操作,则可以这样做。 是一种可以拦截鼠标移动并随意取消它们的机制。

答案 1 :(得分:5)

如果您尝试限制光标移动,请查看Windows API中的ClipCursor函数。