Есть мысль написать ремапер мыши. Но для этого необходимо отменять определённые действия мыши.
Есть кусок кода:
HHOOK myHook;
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode >= 0)
{
if (wParam == WM_LBUTTONDOWN)
{
return -1;
}
}
return CallNextHookEx(myHook, nCode, wParam, lParam);
}
int main()
{
myHook = SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, NULL, 0);
if (myHook != NULL)
printf("Hook complited;\n");
else
printf("Hook not complited.\n");
MSG msg;
while (GetMessage(&msg, NULL, 0, 0) > 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
UnhookWindowsHookEx(myHook);
return 0;
}
Данный код работает только с ЛКМ (ЛКМ полностью перестаёт работать на всех окнах), т.е. если в условии поменять WM_LBUTTONDOWN на, например, WM_RBUTTONDOWN или WM_XBUTTONDOWN, то код перестаёт работать (и ПКМ, и боковая кнопка мыши работают как и должны работать).
Почему оно работает именно таким образом (работает с ЛКМ, но не работает с ПКМ)? И как исправить это (сделать чтобы работало с любыми кнопками мыши)?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите пожалуйста, как установить сортировку компонентов в пакете по типуРаботаю в IDE NetBenas
пилю игру на LIBGDX встроил GPGS у меня такая проблема