1

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

4

2 回答 2

7

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

于 2012-07-21T23:08:45.417 回答
5

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

于 2012-07-22T01:30:01.460 回答