HHOOK SetWindowsHookEx(
int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId
);
Как узнать события мыши вне окна
Мне нужно сделать растяжимый прямоугольник для выделения, но если отпустить LBUTTONUP вне моего окна то т.к. сообщение WM_LBUTTONUP не приходит, это приводит к неприятным последствиям.
Помогите плиз.
Еще бы хотелось знать обо всех событиях мыши независимо от того активно ли мое окно.
Устанавливается hook функцией SetWindowsHookEx.
Код:
Первый параметр - тип ловушки. Для мышки может быть WH_GETMESSAGE
Второй параметр этой функции есть указатель на функцию обратного вызова GetMsgProc, в которой и будет осуществляться обработка перехваченного сообщени.
Третий параметр- значение, возвращаемое функцией LoadLibrary.
А последний параметр должен быть равен нулю.
Прототип функции GetMsgProc
Код:
LRESULT CALLBACK GetMsgProc(
int code,
WPARAM wParam,
LPARAM lParam
);
int code,
WPARAM wParam,
LPARAM lParam
);
где lParam указатель на структуру MSG, в которой и содержатся все необходимые сведения о сообщении.
За более подробной информацией обращайтесь к MSDN
Цитата: SpeedShifter
Мне нужно сделать растяжимый прямоугольник для выделения, но если отпустить LBUTTONUP вне моего окна то т.к. сообщение WM_LBUTTONUP не приходит, это приводит к неприятным последствиям.
Помогите плиз.
Помогите плиз.
SetCapture() при обработке WM_LBUTTONDOWN и ReleaseCapture() на WM_LBUTTONUP. Во время захвата сообщения от мыши всегда приходят в очередь окна, дескриптор которого указан в качестве параметра SetCapture().