dotTrace告诉我“手写笔输入”是有罪的.
我试过0700发布于Ron Z和Chaim Zonnenberg,但没有奏效.
Rash建议2个变通办法:
>只有在机器中运行任何自动化客户端(如屏幕阅读器,平板电脑中的tabtip等)时,才会触发自动化代码.因此,摆脱这种情况的一种方法是关闭任何自动化客户端应用程序.
>如果一个不可行,那么另一个选择是,UIElementHelper.InvalidateAutomationAncestors只有在应用程序的自动化树稀疏时才会花费更长的时间(如果使用自定义窗口自动化对等方禁用了楼宇自动化树,则会发生)并且可视化树密集.所以另一个解决方案是禁用任何自定义自动化代码,并允许WPF构建完整的自动化树.这应该加速UIElementHelper.InvalidateAutomationAncestors.
但如何关闭tabtip?我试图停止并禁用以下服务但没有工作,tabtip.exe仍然在后台运行:
>平板电脑输入服务
> TabletServicePen
Rash说这个问题应该在.NET 4.0 SP1中解决.有谁知道.NET 4.0 SP1的发布日期?
我正在使用Visual Studio 2010,Windows 7 64位,Wacom Graphire 4.
谢谢
更新:
要关闭tabtip.exe,我只需要在禁用上述服务后重新启动Windows.但仅凭这一点并没有解决我的问题.为了解决性能问题,我还必须禁用“Wacom Consumer Touch Service”.
根据this thread(2011年3月22日):
.NET Framework 4.0 sp1没有已发布的时间表
我最近不得不在我们的项目中使用WPF工具处理这个确切的问题.发生崩溃的机器正在运行.NET Framework 4.5.
当工具崩溃时,我们可以看到.NET PresentationFramework UIAutomation中发生了崩溃.
崩溃异常是:PresentationFramework.dll中发生了’System.ArgumentOutOfRangeException’类型的第一次机会异常 – >此时,该漏洞似乎出现在.NET Framework中
但随后我们可以看到我们在UIAutomation调用中崩溃的堆栈,它引导我们进入这个线程,并认为该模块正在被Wacom服务触发.
在应用程序崩溃的机器上运行的Wacom驱动程序是:Wacom Tablet 6.3.1w3
降级到以前的版本后,一切都开始工作:WacomTablet_6.3.3-4
现在我们知道了问题的根源,我们开始寻找一种解决方法,以便仍能使用最新的驱动程序.
所以这就是它的好处是它似乎不会影响wacom数位板的功能:
– 转到“控制面板”.
– 双击“程序和功能”
– 单击左侧标题为打开或关闭Windows功能的链接
– 加载时,取消选中“Tablet PC可选组件”(在Windows 7中可称为“Tablet PC组件”).
– 单击“确定”按钮.
这可能需要您重新启动Windows计算机.
这对我们来说就是诀窍.
玩得开心!