win32api: временно блокировать щелчки мышью? - PullRequest
0 голосов
/ 22 февраля 2011

Есть ли способ отключить обычные щелчки мышью в Windows с помощью win API? Я могу отключить клики в любом месте, кроме определенной точки, выполнив ClipCursor, но клики по-прежнему регистрируются.

В качестве альтернативы я также хочу условно отключить щелчки мышью ... например, я хочу сделать невозможным закрытие окна приложения, которое я не контролирую, поэтому я хочу, чтобы клики отправлялись в 'X' этого окна не пройти.

1 Ответ

1 голос
/ 22 февраля 2011

Можно, и это очень опасно. Вот как, в C ++

LRESULT __stdcall LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if ((nCode < 0) || false)
    {
        result = CallNextHookEx(myLowLevelMouseHookHandle, nCode, wParam, lParam);
    }

    return result;
}

Измените false в приведенном выше примере, чтобы снова включить клавиатуру для работы.

Кстати, этот метод также работает аналогично вводу с клавиатуры, даже Ctrl + Alt + Del не работает.

Если вы хотите, чтобы мышь двигалась, но блокировали только щелчки, добавьте код if ((wParam == WM_MOUSEMOVE) || (wParam == WM_NCMOUSEMOVE)).

Больше информации на http://msdn.microsoft.com/en-us/library/ms644986(VS.85).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...