6

我在使用多点触控LabView时遇到了一些问题。

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

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

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

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

  1. 永远不要使用 LabVIEW
  2. 然后可以通过本地主机上的 TCP 消息将其发送到我现有的程序以进行重新解释(这似乎是迄今为止我发现的最佳方式)。

如果有人有任何想法,我将不胜感激!

4

2 回答 2

0

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

  1. 在不轮询的情况下捕获 Windows 系统事件 (Windows)
  2. Windows 消息队列库
  3. 使用windows触摸屏(多点触控)并区分get touch事件和鼠标点击
于 2019-06-23T16:45:09.447 回答
0

在 while 循环中使用事件处理程序结构,并且只注册您希望 LabVIEW 处理的事件。

于 2017-05-23T20:04:19.013 回答