Есть хук, который отслеживает нажатие WM_XBUTTONDOWN и WM_XBUTTONUP. Мне необходимо понять какая именно боковая кнопка мыши нажата (1-я или 2-я). Использую следующий код.
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode >= 0)
{
if (wParam == WM_XBUTTONDOWN || wParam == WM_XBUTTONUP)
{
GET_XBUTTON_WPARAM(wParam); // result = 0
MOUSEHOOKSTRUCTEX* mouseStruct = (MOUSEHOOKSTRUCTEX*)lParam;
mouseStruct->mouseData;// result = 0
return -1;
}
}
return CallNextHookEx(myHook, nCode, wParam, lParam);
}
Но и GET_XBUTTON_WPARAM(wParam), и структура mouseStruct->mouseData возвращают 0.
Что я делаю не так и почему они возвращают всегда 0? Как исправить данную проблему?
Почему вы используете MOUSEHOOKSTRUCTEX
? В обработчик WH_MOUSE_LL
вам передается указатель на MSLLHOOKSTRUCT
. Поэтому
const MSLLHOOKSTRUCT *mouseStruct = (const MSLLHOOKSTRUCT *) lParam;
и вот там уже смотрим в mouseData
.
Для WM_XBUTTONDOWN
значения XBUTTON1
или XBUTTON2
должны передаваться в HIWORD(mouseStruct->mouseData)
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Например в мессенджерах можно писать текст, вставлять картинки, вставлять может быть видеоНо в какой виджет это всё вставляется я не пойму?...
Пытаюсь десериализовать JSON ответ с помощью GSON через response ResponseFio = gsonfromJson(json, response
Добрый день решил изучить алгоритмы и делаю задачи из книги , но вот с этой задачей сломал голову Условия