WM_LBUTTONDOWN 消息直到手指从屏幕上抬起

问题描述

我们正在使用托管 Webbrowser 控件的 Winforms 应用程序,该控件在带有触摸屏的 Windows 7 机器上运行。问题是当用户触摸一个按钮时,该按钮看起来不会被按下(尽管该按钮有效)。我从 devblogs 帖子 (https://devblogs.microsoft.com/oldnewthing/20170227-00/?p=95585) 中读到了这种奇怪的行为,该行为是设计使然,可以通过以下方式修复:

  1. 禁用长按。
  2. 禁用所有手势(适用于 Windows 7 及更高版本)

由于我们的目标是 Windows 7,因此我们需要同时应用上述两种解决方案。它有效,但问题是由于所有手势都将被禁用,用户无法再进行任何多点触控手势。我们只尝试了第一种解决方案(仅禁用长按),但它不起作用(松开手指后仍会出现鼠标事件)。

我读过关于这个问题的类似问题,但有答案的人使用的是 Windows 8 及更高版本,他们禁用了 FEATURE_NINPUT_LEGACYMODE 但这不适用于 Windows 7。任何人都知道如何支持多点触控没有鼠标按下问题的 Windows 7 中的手势?

附加信息

我看到另一个问题 (Windows 7 Touch Screen + Java Swing = Delayed Mouse Events),我认为它非常相似,但不幸的是没有解决方案。不过既然是七年前问的,没有任何更新,现在可能有人找到解决办法了吗? (或者可能不是因为它已经太旧了)

如果这个问题真的是硬件/操作系统限制,那么我想我们别无选择,只能接受这个限制。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)