在 Windows 系统中,触摸屏的左右滑动手势 (通常用于切换应用、调出操作中心或返回等)是由系统级的 "边缘手势" (Edge Swipes)或 "平板模式手势" 控制的。如果你希望禁用触摸屏上的左右滑动功能(例如防止误触返回或切换应用),可以通过以下几种方式实现:
✅ 方法一:通过注册表禁用边缘手势(推荐)
适用于 Windows 10 / Windows 11(非企业版也可用)
步骤:
-
以管理员身份运行注册表编辑器 (
regedit) -
导航到以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\EdgeUI- 如果
EdgeUI项不存在,请右键 → 新建 → 项,命名为EdgeUI
- 如果
-
在右侧新建一个 DWORD (32-bit) 值:
- 名称:
AllowEdgeSwipe - 值:
0(禁用)
(设为1或删除该值可恢复默认)
- 名称:
-
重启电脑 或 注销并重新登录 使设置生效。
✅ 效果:禁用从屏幕左/右/上边缘向内滑动的手势(包括任务视图、操作中心、返回等)。
✅ 方法二:使用组策略(仅限 Windows 专业版/企业版/教育版)
-
按
Win + R,输入gpedit.msc打开组策略编辑器。 -
导航到:
计算机配置 → 管理模板 → Windows 组件 → 边缘 UI -
双击 "允许边缘滑动"(Allow edge swipe)
-
选择 "已禁用" → 点击"确定"
-
重启或注销生效。
💡 注:家庭版 Windows 没有
gpedit.msc,请使用方法一(注册表)。
✅ 方法三:通过设备管理器临时禁用触摸屏(极端情况)
如果你只是想完全禁用触摸功能(不只是滑动):
- 按
Win + X→ 选择"设备管理器" - 展开 "人体学输入设备" 或 "显示适配器" / "传感器"
- 找到类似 "HID-compliant touch screen" 的设备
- 右键 → 禁用设备
⚠️ 缺点:整个触摸屏将失效,包括点击、缩放等所有操作。
✅ 方法四:编程方式(C++ / Qt / WinAPI)------不推荐用于此场景
虽然你可以通过 RegisterTouchWindow() 或处理 WM_TOUCH 消息来拦截触摸事件 ,但 系统级边缘手势是在你的应用程序之上处理的,普通应用无法阻止这些全局手势(除非你开发的是 Shell 替代程序或拥有特殊权限)。
因此,对于禁用系统级左右滑动手势,唯一可靠的方法是修改注册表或组策略。
🔒 补充说明
- 禁用后,触控板的左右滑动通常不受影响(触控板手势由 Precision Touchpad 驱动控制,可在"设置 → 蓝牙和其他设备 → 触摸板"中单独配置)。
- 此设置不影响鼠标操作。
- 如果你是在开发全屏 Kiosk(信息亭)应用,建议同时:
- 禁用边缘手势(上述方法)
- 启用"分配访问"(Assigned Access)或"Kiosk 模式"
- 隐藏任务栏和开始菜单
🛠️ 自动化脚本(一键禁用)
保存为 disable_edge_swipe.reg 并双击运行:
reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\EdgeUI]
"AllowEdgeSwipe"=dword:00000000
⚠️ 修改注册表前请备份,或确保你有管理员权限。
如需在 Qt/C++ 应用启动时自动检查并提示用户禁用边缘手势(例如用于工业触控设备),也可以检测注册表值并弹出引导说明。
需要我提供这样的检测代码吗?