WPF 使用 ManipulationDemo 工具辅助调试设备触摸失效问题
本文将和大家介绍我所在的团队开源的 ManipulationDemo 工具。通过 ManipulationDemo 工具可以提升调试设备触摸失效的效率
此工具在 GitHub 上完全开源,请看 https://github.com/dotnet-campus/ManipulationDemo/
软件界面效果大概如下

可以显示接收到的 Win32 消息、当前的触摸设备状态,以及设备插拔信息
使用此工具可以用来调试设备触摸失效问题,包括:
- 是否有应用收走了消息
- 通过查看应用左侧 Win32 消息即可了解。常见问题是有透明窗口挡住应用
 
 - 是否有奇怪的 Win32 消息发过来导致触摸失效
 - 是否出现设备插拔,导致触摸设备被拔走
- 当出现 USB 设备插拔时,将会在应用下方的中间记录变更的设备信息,此时一般关注的是设备的 VID 和 PID 属性,从而了解是否自己的触摸框被插拔
 - 自己的应用使用的是 .NET Framework 低版本且用户端运行时也是 .NET Framework 低版本时,存在插拔触摸失效已知问题。详细请看 WPF 插拔触摸设备触摸失效
 - 现在存在某些厂商的触摸框,进行插拔之后会导致触摸失效
 
 - 是否触摸设备本身状态异常,即获取不到正确的触摸信息
- 触摸点数拿不到或触摸设备数拿不到,从应用右下角可以看到正常触摸设备会显示触摸点数等
 
 - 是否出现了多指触摸失效问题,即触摸转鼠标问题
- 多指触摸只收到鼠标消息,且多指触摸的时候,界面没有反映
 
 - 是否自己应用上层业务逻辑编写不正确
- 即自己的应用触摸失效了,但 ManipulationDemo 工具可以正常收到触摸消息,这就证明不是设备的问题
 
 
更多触摸和笔迹书写相关请看 WPF 触摸相关
WPF 使用 ManipulationDemo 工具辅助调试设备触摸失效问题的更多相关文章
- 通过解读 WPF 触摸源码,分析 WPF 插拔设备触摸失效的问题(问题篇)
		
在 .NET Framework 4.7 以前,WPF 程序的触摸处理是基于操作系统组件但又自成一套的,这其实也为其各种各样的触摸失效问题埋下了伏笔.再加上它出现得比较早,触摸失效问题也变得更加难以解 ...
 - WPF 插拔触摸设备触摸失效
		
原文:WPF 插拔触摸设备触摸失效 最近使用 WPF 程序,在不停插拔触摸设备会让 WPF 程序触摸失效.通过分析 WPF 源代码可以找到 WPF 触摸失效的原因. 在 Windows 会将所有的 H ...
 - 2018-8-15-WPF-插拔触摸设备触摸失效
		
title author date CreateTime categories WPF 插拔触摸设备触摸失效 lindexi 2018-08-15 08:12:47 +0800 2018-08-09 ...
 - 学汇编的时候可以拿IDA之类的反汇编工具辅助学习,再用gdb或者IDA动态调试,跟踪每条指令的 执行结果。都不难
		
作者:潘安仁链接:https://www.zhihu.com/question/40720890/answer/87926792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
 - 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧
		
之前一篇<工欲善其事,必先利其器.VS2013全攻略(安装,技巧,快捷键,插件)!> 看到很多朋友回复和支持,非常感谢,尤其是一些拍砖的喷油,感谢你们的批评,受益良多. 我第一份工作便是W ...
 - YUV422蓝屏显示输出功能辅助调试
		
YUV422蓝屏显示输出功能辅助调试 YUV422有YUYV,YVYU,UYVY,VYUY四种,以下笔者就就以UYVY为例介绍一下数据构成.因为常常要跟视频输入打交道,所以YUV422这种常见的视频信 ...
 - 安卓投屏助手(B1358)之辅助调试
		
Android远程桌面助手的中文版——安卓投屏助手正式上线.安卓投屏和远程控制的软件其实已经非常多了,如Vysor.Total Control.Mobizen.ApowerMirror.TeamVie ...
 - 使用chrome远程调试设备及调试模拟器设备
		
使用chrome开发工具远程在Android上远程调试 准备工作 开始远程调试之前,需要做好如下准备: 在你电脑上安装Chrome 32 或者更新的版本 一根连接Android设备的USB线 手机系统 ...
 - windows forms 上一个类似于wpf snoop 的工具: Hawkeye
		
windows forms 上一个类似于wpf snoop 的工具: Hawkeye 周银辉 WPF上有snoop这样的run time object editor让人用着很爽, 今天搜到了一个for ...
 - Visual Studio工具栏中无法选择调试设备
		
Visual Studio工具栏中无法选择调试设备 在Visual Studio工具栏中,默认显示已经识别的设备.用户可以从中选择对应的设备,进行调试和部署App.但是由于误操作,可能导致该选项丢失. ...
 
随机推荐
- Python伪数据生成器Mimesis 使用
			
一.**Mimesis的介绍** Mimesis是一个用于Python的high-performance伪数据生成器,它用各种语言为各种目的提供数据.这些假数据可以用来填充测试数据库,创建假API端点 ...
 - uniapp热更新和整包更新思路
			
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 我们知道,在打包Android App之前,我们需要先通过HX生成打包资源.如果是通过cli创建的项目,则通过以下命令生成打包资源: ya ...
 - 数字电路之MOS设计
			
数字电路之MOS设计 1.MOS的基本性质 MOS,即场效应管,四端器件,S.D.G.B四个端口可以实现开和关的逻辑状态,进而实现基本的逻辑门.NMOS和PMOS具有明显的对偶特性:NMOS高电平打开 ...
 - archlinux xfce禁用Alt+F打开终端文件菜单
			
参照:https://superuser.com/questions/456024/how-to-disable-alt-f-shortcut-binding-from-file-menu-acces ...
 - Linux——ssh登录很慢解决方法
			
1.背景 在同一机房中,有多台安装了CentOS 7操作系统的服务器,它们的配置除了IP地址不同外基本相同.这些服务器的资源利用率都不高,但在使用SSH连接时,发现有几台服务器连接速度较慢,可能需要等 ...
 - Linux中JMeter的使用
			
Linux中JMeter的使用 Linux版本JMeter安装 # 1.下载.安装JMeter 如果有安装包直接上传即可 wget -c https://archive.apache.org/dist ...
 - HashSet 存对象的时候是如何判断是不是同一个对象,其中含有重写equals方法和hashcode方法  后续
			
一开始,set集合里面只存进一个对象, 存第二个对象时候,由于重写了hashcode方法,只要价格都是10就返回1,所以hashcode一样的话,再去进行equals方法判断,此时这个也重写了,thi ...
 - win10/11 暂停更新
			
1. win+R 输入regeidt 进入注册表编辑器 2.在"计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Sett ...
 - #交互,栈#LOJ 3005 「JOISC 2015 Day 4」Limited Memory
			
题目 分析 一开始想的是栈的匹配,但是位数不够,而且还忘记写memory.h, 考虑它询问次数不超过一万五千次,\(O(n^2)\)的询问是绰绰有余的, 如果每一个符号都能被匹配那整个串也能被匹配,而 ...
 - #2-sat,Tarjan#洛谷 4171 [JSOI2010]满汉全席
			
题目 分析 考虑两个至少选一个就是非A即B,非B即A, 都可行当且仅当A与非A不在同一个强连通分量里 代码 #include <cstdio> #include <cctype> ...