Roger1990 Ответов: 0

Получение 2 сообщений pointerup для 1 сообщения pointerdown в chrome или firefox


Всем Привет,

Я фиксирую количество событий касания PointerDown и PointerUp, используя глобальный крюк 'WH_GETMESSAGE'. За каждое касание PointerDown я должен получить одно касание PointerUp. Но в случае сенсорных событий внутри google chrome или firefox я получаю 2 события pointerUp для 1 события pointerDown. Есть идеи, почему? Кроме того, есть ли какой-нибудь способ узнать, прикасаюсь ли я к окну google chrome или firefox

Что я уже пробовал:

LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
	LPMSG lpMsg = (LPMSG)lParam;
	UINT32 pointerId = GET_POINTERID_WPARAM(lpMsg->wParam);
	switch (lpMsg->message)
	{
	case WM_POINTERDOWN:
		POINTER_INPUT_TYPE pointerType;
		GetPointerType(pointerId, &pointerType);
                if (pointerType == PT_TOUCH)
			OutputDebugString(TEXT("Hook: PointerDown Touch"));
                return CallNextHookEx(NULL, nCode, wParam, lParam);

	case WM_POINTERUP:
		POINTER_INPUT_TYPE pointerTypeUp;
		GetPointerType(pointerId, &pointerTypeUp);
		if (pointerTypeUp == PT_TOUCH)
			OutputDebugString(TEXT("Hook: PointerUp Touch"));
                return CallNextHookEx(NULL, nCode, wParam, lParam);
	}
	return CallNextHookEx(NULL, nCode, wParam, lParam);
}

0 Ответов