我写的Windows 8桌面应用程序,并希望它当用户点击与(例如)4个手指放在屏幕上弹出。 我发现这个问题:
如何检测轻敲(触摸输入)而不是全球的鼠标点击?
答案提供3个解决方案。 第一个是我不好,因为我想编写应用程序,每个Win8平板的作品。
第二个(RegisterPointerInputTarget)做工精良(我的应用程序拦截所有可能的触摸输入,即使在启动面板被激活或地铁应用程序正在运行),但Windows本身开始缺乏一些触摸功能(例如,我不能滚动启动面板用手指了)。 我试图注入触摸输入回来,但没有运气可言:
if (message >= 0x0241 && message <= 0x024F)
{
DWORD pointerID = LOWORD (wParam);
POINTER_TOUCH_INFO pti;
GetPointerTouchInfo (pointerID, &pti);
InjectTouchInput (1, &pti);
}
(是的,我已经叫InitializeTouchInjection(10,0x3);前)另外,我个人并不因为文档说,只是一个窗口本身的指针输入寄存器喜欢这种方式。 所以,我不希望我的应用程序占据这样的资源。
第三种解决方案(挂钩)的作品不错,但我不能从metro应用或启动面板拦截触摸。
有谁知道如何正确地拦截在Windows 8的所有触摸输入? uiAccess =真不是一个问题,因为我的应用程序将被签署。 谢谢。