6

I'm having some problems with multi-touch and LabView.

My objective is to intercept the Windows Touch Messages (generated by multitouch monitors and then interpreted and handled by Windows 7), which are intended for any and all windows owned by a program called LabVIEW.
This will prevent Windows from communicating Touch Messages with LabVIEW while allowing me to use the touch messages to create custom responses in LabVIEW myself. And, it will still allow Windows to use the Touch Messages as normal for any and all other programs which the user may want to interact with.

LabVIEW has not been registered with Windows 7 to interpret Windows Touch Messages specifically. It therefore handles them using default Windows 7 responses.

I have developed a library for LabVIEW which creates the custom multitouch enabled responses but it requires me to provide my own driver for the multitouch monitor being used in order to prevent Windows 7 from listening to the monitor's touch event messages and converting them to its own set of Touch Messages. This is inefficient as I want users to be able to plug and play any commercial multitouch monitor with my code and I don't want to have to write custom drivers for every monitor type.

So, I want to intercept the Touch Messages intended for LabVIEW (and only those Windows Touch Messages) so that they

  1. Never reach LabVIEW
  2. Can then be sent on to my existing program for reinterpretation via TCP messages over the localhost (this seems the best way I've found so far).

If anybody has any ideas I'd be exceedingly grateful!

Arpit
  • 6,212
  • 8
  • 38
  • 69
LVMMS
  • 69
  • 4

3 Answers3

1

LabVIEW does not see the Windows Touch Events as you already know. The only events you see are the ones you can use in the Event Structure. However, there are ways to use .Net Callbacks to see other Windows events. You can then create User Events to feed the event back to your Event Structure. Below are a couple of links that might help:

  1. Capturing Windows System Events without Polling (Windows)
  2. Windows Message Queue Library
  3. Use windows touch screen (multi touch) and distinguish get touch event and mouse click
TheQ
  • 13
  • 3
0

Use the event handler structure in a while loop and only register the events you want LabVIEW to handle.

SeanJ
  • 1,203
  • 2
  • 19
  • 39
0

If you are willing to pay for it, there is a commercial toolkit that supports multi-touch and smartphone-style gestures on a number of touchscreen devices via UDPP or Windows 7 messages:

https://www.ni.com/en-us/shop/software/products/touchscreen-toolkit-for-labview.html