0

I have native dll for setting the windows hook (global) and i am calling it in one of my windows form application to set a global hook. It works perfectly fine and i get the messages in the app.

But the Internet Explorer is Touch Window, and if i use 2 fingers i only get WM_POINTERDOWN event and not the touch events.

<000049> 000B0404 S WM_POINTERDOWN wPointerID:0177 wFlags:6017 ptX:373 ptY:566
<000053> 000B0404 S WM_POINTERDOWN wPointerID:0178 wFlags:4017 ptX:344 ptY:479

Other amazing thing is its only sending WM_POINTERDOWN and not the WM_POINTERUP events. I tried seeing all the events generated in SPY++(32 bit) it seems like all the touch events are Posted using the WM_USER

<000107> 00120DE2 P message:0x0401 [User-defined:WM_USER+1] wParam:C0D05DFD lParam:00004E20
<000108> 00120DE2 P message:0x0401 [User-defined:WM_USER+1] wParam:C0D0AC34 lParam:00004E20
<000109> 00120DE2 P message:0x0401 [User-defined:WM_USER+1] wParam:C0D0FA78 lParam:00004E20
<000110> 00120DE2 P message:0x0401 [User-defined:WM_USER+1] wParam:C0D148D9 lParam:00004E20
<000111> 00120DE2 P message:0x0401 [User-defined:WM_USER+1] wParam:C0D196DB lParam:00004E20

in which lParam is always fixed lParam:00004E20 and wParam is changing, but not sure how to decode the wParam to get the actual pointeriD and the co-ordinates. I am assuming the IE is Touch window because i am able to draw with multiple fingers on this website

My basic aim is to distinguish between the 2 finger tap and the zoom gesture in the IE.

ramindar
  • 53
  • 5
  • You might be Spying on the wrong child window. – Ben Voigt Jan 08 '14 at 16:36
  • A window explicitly has to opt-in to get WM_TOUCH messages by calling RegisterTouchWindow(). IE doesn't do that. It is not unusual for a program like that to handle touch from the raw notifications. And it has to in order to expose the events to the DOM. See the [MSDN Library article](http://msdn.microsoft.com/en-us/library/ie/hh673557%28v=vs.85%29.aspx). – Hans Passant Jan 08 '14 at 16:54
  • @ Hans Passant Thanks for the article. But how can i distinguish between the pinch zoom and the two finger tap events, using the windows hook. Just thinking loud, that WM_GESTURE events would be converted to the MSGesture events by IE, so is there no way i can hook on to those WM_GESTURE events. – ramindar Jan 08 '14 at 19:14

0 Answers0