Windows多点触控事件和LabView

时间:2012-12-13 09:55:23

标签: windows-7 touch multi-touch labview

我在多点触控 LabView 方面遇到了一些问题。

我的目标是拦截Windows Touch消息(由多点触控显示器生成,然后由Windows 7解释和处理),这些消息适用于由 LabVIEW 程序拥有的任何和所有窗口。<登记/> 这将阻止Windows与LabVIEW通信触摸消息,同时允许我使用触摸消息在LabVIEW自己创建自定义响应。并且,它仍然允许Windows正常使用Touch Messages,以便用户可能想要与之交互的任何和所有其他程序。

LabVIEW尚未在Windows 7中注册,专门解释Windows Touch消息。因此,它使用默认的Windows 7响应来处理它们。

我为LabVIEW开发了一个库,它创建了自定义多点触控启用的响应,但它要求我为所使用的多点触控显示器提供自己的驱动程序,以防止Windows 7收听显示器的触控事件消息并将它们转换为自己的触摸消息集。这是低效的,因为我希望用户能够使用我的代码来插入和播放任何商业多点触控显示器,而且我不想为每种显示器类型编写自定义驱动程序。

所以,我想拦截用于LabVIEW的触摸消息(只有那些Windows Touch消息),以便他们

  1. 永远不会到达LabVIEW
  2. 然后可以通过本地主机通过TCP消息发送到我现有的程序进行重新解释(这似乎是我迄今为止找到的最佳方式)。
  3. 如果有人有任何想法,我会非常感激!

2 个答案:

答案 0 :(得分:0)

在while循环中使用事件处理程序结构,只注册LabVIEW要处理的事件。

答案 1 :(得分:0)

如您所知,LabVIEW看不到Windows Touch事件。您看到的唯一事件是可以在Event Structure中使用的事件。但是,有一些方法可以使用.Net回调查看其他Windows事件。然后,您可以创建User Events,将事件反馈到您的Event Structure。以下是一些可能有帮助的链接:

  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