Блокировка действий мыши с помощью хука

174
01 ноября 2018, 12:00

Есть консольное приложение.

#include "stdafx.h"
#include <conio.h>
#include <Windows.h>
#include <iostream>
using namespace std;
HINSTANCE hInstance;
HHOOK miHook;
void BlockMouseMovement();
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION)
{
    MSLLHOOKSTRUCT &msll = *(reinterpret_cast<MSLLHOOKSTRUCT*>(lParam));
    if (wParam == WM_RBUTTONDOWN)
    {
        if (true)
        {
            return -1; 
        }
    }
}
return CallNextHookEx(miHook, nCode, wParam, lParam);
}
int main()
{
    {
    printf("if you want to disable the mouse press  key 1, if want to enable key 2");
    while (true)
    {
        if (_kbhit())
        {
            switch (_getch())
            {
            case  49:
                printf("\r\nMouse was disabled!");
                SetWindowsHookEx(WH_MOUSE_LL, reinterpret_cast<HOOKPROC>(&LowLevelMouseProc), hInstance, 0);
                UnhookWindowsHookEx(miHook);
                break;
                case 51:
                return 0;
            }
        }
    }
    _getch();
    return 0;
}

}

Но этот код не работает. Подскажите, в чём ошибка.

P.S. После установки хука функция LowLevelMouseProc вообще не срабатывает, при любых действиях мышью.

READ ALSO
Не менять цвет QPushButton при установке disabled

Не менять цвет QPushButton при установке disabled

Если кнопке QPushButton установить setDisabled(true) то текст\картинка установленная на поверхности кнопки обесцветитсяКак этого избежать?

222
Вопрос про Terminal blynk

Вопрос про Terminal blynk

Как бы реализовать запись с терминала в переменную?

226
Как подключить X11 к Qt проекту на MacOS High Sierra

Как подключить X11 к Qt проекту на MacOS High Sierra

Я пытаюсь скомпилировать вот такой проект

215
Криво парсится obj файл

Криво парсится obj файл

Хотел написать свой парсер для моделей в форматеobj для дальнейшего отображения их с помощью OpenGL, нашел некоторые инструкции (тут и здесь,...

200