Есть консольное приложение.
#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 вообще не срабатывает, при любых действиях мышью.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей