本文将和大家介绍我所在的团队开源的 ManipulationDemo 工具。通过 ManipulationDemo 工具可以提升调试设备触摸失效的效率

此工具在 GitHub 上完全开源,请看 https://github.com/dotnet-campus/ManipulationDemo/

软件界面效果大概如下

可以显示接收到的 Win32 消息、当前的触摸设备状态,以及设备插拔信息

使用此工具可以用来调试设备触摸失效问题,包括:

  • 是否有应用收走了消息

    • 通过查看应用左侧 Win32 消息即可了解。常见问题是有透明窗口挡住应用
  • 是否有奇怪的 Win32 消息发过来导致触摸失效
  • 是否出现设备插拔,导致触摸设备被拔走
    • 当出现 USB 设备插拔时,将会在应用下方的中间记录变更的设备信息,此时一般关注的是设备的 VID 和 PID 属性,从而了解是否自己的触摸框被插拔
    • 自己的应用使用的是 .NET Framework 低版本且用户端运行时也是 .NET Framework 低版本时,存在插拔触摸失效已知问题。详细请看 WPF 插拔触摸设备触摸失效
    • 现在存在某些厂商的触摸框,进行插拔之后会导致触摸失效
  • 是否触摸设备本身状态异常,即获取不到正确的触摸信息
    • 触摸点数拿不到或触摸设备数拿不到,从应用右下角可以看到正常触摸设备会显示触摸点数等
  • 是否出现了多指触摸失效问题,即触摸转鼠标问题
    • 多指触摸只收到鼠标消息,且多指触摸的时候,界面没有反映
  • 是否自己应用上层业务逻辑编写不正确
    • 即自己的应用触摸失效了,但 ManipulationDemo 工具可以正常收到触摸消息,这就证明不是设备的问题

更多触摸和笔迹书写相关请看 WPF 触摸相关

WPF 使用 ManipulationDemo 工具辅助调试设备触摸失效问题的更多相关文章

  1. 通过解读 WPF 触摸源码,分析 WPF 插拔设备触摸失效的问题(问题篇)

    在 .NET Framework 4.7 以前,WPF 程序的触摸处理是基于操作系统组件但又自成一套的,这其实也为其各种各样的触摸失效问题埋下了伏笔.再加上它出现得比较早,触摸失效问题也变得更加难以解 ...

  2. WPF 插拔触摸设备触摸失效

    原文:WPF 插拔触摸设备触摸失效 最近使用 WPF 程序,在不停插拔触摸设备会让 WPF 程序触摸失效.通过分析 WPF 源代码可以找到 WPF 触摸失效的原因. 在 Windows 会将所有的 H ...

  3. 2018-8-15-WPF-插拔触摸设备触摸失效

    title author date CreateTime categories WPF 插拔触摸设备触摸失效 lindexi 2018-08-15 08:12:47 +0800 2018-08-09 ...

  4. 学汇编的时候可以拿IDA之类的反汇编工具辅助学习,再用gdb或者IDA动态调试,跟踪每条指令的 执行结果。都不难

    作者:潘安仁链接:https://www.zhihu.com/question/40720890/answer/87926792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  5. 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧

    之前一篇<工欲善其事,必先利其器.VS2013全攻略(安装,技巧,快捷键,插件)!> 看到很多朋友回复和支持,非常感谢,尤其是一些拍砖的喷油,感谢你们的批评,受益良多. 我第一份工作便是W ...

  6. YUV422蓝屏显示输出功能辅助调试

    YUV422蓝屏显示输出功能辅助调试 YUV422有YUYV,YVYU,UYVY,VYUY四种,以下笔者就就以UYVY为例介绍一下数据构成.因为常常要跟视频输入打交道,所以YUV422这种常见的视频信 ...

  7. 安卓投屏助手(B1358)之辅助调试

    Android远程桌面助手的中文版——安卓投屏助手正式上线.安卓投屏和远程控制的软件其实已经非常多了,如Vysor.Total Control.Mobizen.ApowerMirror.TeamVie ...

  8. 使用chrome远程调试设备及调试模拟器设备

    使用chrome开发工具远程在Android上远程调试 准备工作 开始远程调试之前,需要做好如下准备: 在你电脑上安装Chrome 32 或者更新的版本 一根连接Android设备的USB线 手机系统 ...

  9. windows forms 上一个类似于wpf snoop 的工具: Hawkeye

    windows forms 上一个类似于wpf snoop 的工具: Hawkeye 周银辉 WPF上有snoop这样的run time object editor让人用着很爽, 今天搜到了一个for ...

  10. Visual Studio工具栏中无法选择调试设备

    Visual Studio工具栏中无法选择调试设备 在Visual Studio工具栏中,默认显示已经识别的设备.用户可以从中选择对应的设备,进行调试和部署App.但是由于误操作,可能导致该选项丢失. ...

随机推荐

  1. 浅析三维模型OBJ格式轻量化压缩文件大小的技术方法

    浅析三维模型OBJ格式轻量化压缩文件大小的技术方法 在减小三维模型OBJ格式轻量化文件大小方面,有许多技术和方法可以使用.下面我将介绍一些常用的方法来减小OBJ文件的大小. 1.优化顶点数量:减少OB ...

  2. 【Leetcode】64. 最小路径和

    题目(链接) 给定一个包含非负整数的m x n网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例 1: 输入:grid = [[1 ...

  3. 记录--npm, npx, cnpm, yarn, pnpm梭哈

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 依赖管理解决了在软件开发过程中管理和协调各种依赖项的问题,简化了开发流程,提高了项目的可靠性.可维护性和可重复性.它们帮助开发人员更高效地 ...

  4. .NET Emit 入门教程:第三部分:构建模块(Module)

    前言: 在这一部分中,我们将深入讨论动态程序集中模块的概念以及如何构建和管理模块. 1.模块的概念: 模块是动态程序集中的基本单位,它类似于一个独立的代码单元,可以包含类型.方法.字段等成员. 在动态 ...

  5. LOTO示波器客户应用案例展示

    LOTO示波器客户应用案例展示 LOTO示波器以软件功能为核心,采用独特的积木式可扩展的硬件架构,为多行业的电子电路研发工程师提供高性价比的解决方案.我们初步汇总了一些客户实测的应用案例展示如下: 1 ...

  6. echarts中实现多个label

    先来个效果图 如果你刚好需要实现这种效果,那么可以瞅一瞅了 我要开始水文了 如图所示,图中顶部部分文字乍一看好像是独立于柱状图,显示在最顶上,其实它也是由柱状图模拟而成. 只是吧图形相关属性做了隐藏, ...

  7. Java中一个逐渐被遗忘的强大功能,强到你难以置信!!

    大家好,我是冰河~~ 说起Java,简单好用,但是Java中很多牛逼的技术却逐渐被遗忘了~~ 在Java语言出现之前,很多系统都是使用C和C++开发的.Java出现之后,由于其面向对象的思想更加符合人 ...

  8. OpenHarmony 状态变量更改通知:@Watch 装饰器

    @Watch 应用于对状态变量的监听.如果开发者需要关注某个状态变量的值是否改变,可以使用 @Watch 为状态变量设置回调函数. 说明: 从 API version 9 开始,该装饰器支持在 Ark ...

  9. 【开源三方库】Fuse.js:强大、轻巧、零依赖的模糊搜索库

      开源项目 OpenHarmony 是每个人的 OpenHarmony 曹天恒 公司:中国科学院软件研究所 小组:知识体系工作组 1.简介 Fuse.js是一款功能强大且轻量级的JavaScript ...

  10. OpenHarmony开源开发者成长计划 | 知识赋能第六期预告—从零上手OpenHarmony智能家居项目

    OpenAtom OpenHarmony(以下简称"OpenHarmony")开源开发者成长计划项目自 2021 年 10 月 24 日上线以来,在开发者中引发高度关注. 成长计划 ...