如何在 Win32 应用程序中禁用 Windows 系统范围的三/四指触摸手势?

问题描述 投票:0回答:1

我在一家开发应用程序的公司工作,该应用程序可用于同时使用多个触摸输入进行绘图。问题是,例如,当您用三根或四根手指向上或向下滑动时,内置的 Windows 触摸手势就会激活,并显示桌面。

有没有办法在应用程序运行时以某种方式禁用这些系统范围的手势?

我无法修改注册表,因为如果应用程序崩溃或发生意外情况,例如断电,注册表修改将无法恢复。

winapi touch gesture
1个回答
0
投票

根据 MSDN 文档:

检测和跟踪多个触摸点

重要

Windows 11 及更高版本

默认情况下,某些三指和四指触摸交互将不再适用于 Windows 应用程序。

默认情况下,系统现在使用三指和四指触摸交互来执行切换或最小化窗口以及更改虚拟桌面等操作。由于这些交互现在是在系统级别处理的,因此您的应用程序的功能可能会受到此更改的影响。

为了支持应用程序内的三指或四指交互,引入了新的用户设置,用于指定系统是否处理这些交互:

蓝牙和设备 > 触摸 >“三指和四指触摸手势”

设置为“打开”(默认)时,系统将处理所有三指和四指交互(应用程序将无法支持它们)。

设置为“关闭”时,应用程序可以支持三指和四指交互(系统不会处理它们)。

如果您的应用程序必须支持这些交互,我们建议您告知用户此设置,并提供一个将“设置”应用启动到相关页面的链接 (ms-settings:devices-touch)。有关更多详细信息,请参阅Launcher.LaunchUriAsync方法

IOW,没有编程方法可以处理这个问题。用户必须代表您关闭系统设置。

© www.soinside.com 2019 - 2024. All rights reserved.