winapi - WM_TOUCH 与 WM_POINTER

标签 winapi touch multi-touch windows-messages wm-touch

我应该使用哪一个?我只使用 Windows 8.x,所以我不关心 WM_POINTER 不向后兼容 Windows 7 等事实。我也不关心手势;仅涉及原始接触。 WM_POINTER 唯一明显的优点似乎是它统一了触摸和鼠标输入(但这很容易使用 WM_TOUCH 解决,因为可以使用 GetMessageExtraInfo() 检查鼠标事件)。易用性也不是问题;我已经在使用 WM_TOUCH 了,我只是想知道是否应该切换到 WM_POINTER。我最关心的是延迟和效率(与游戏相关的应用程序)。我无法判断 WM_POINTER 是否是 WM_TOUCH 的包装器,具有额外的开销。有意见吗?

最佳答案

WM_TOUCH 已过时。专门使用WM_POINTER。 (WM_TOUCH 实际上是 WM_POINTER 的包装。)

GetMessageExtraInfo 也是出了名的脆弱。您必须在调用 GetMessage 之后立即调用它,否则您将面临中间函数调用进行 COM 调用或执行其他操作导致调用 GetMessage 的风险。

关于winapi - WM_TOUCH 与 WM_POINTER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23790602/

相关文章:

javascript - 使用 jQuery 将点击事件切换为 touchstart 的最佳方式

css - 防止固定元素在触摸屏上缩放时调整大小

android - 如何在 zoom android 中应用长按和捏合?

Android Multitouch - 可以在模拟器中测试吗?

python - 如何调试它从 Windows 库 ucrtbase 抛出的访问冲突?

windows - 如何读出引导顺序?

c++ - 在 C++ 上使用带有 LoadLibrary() 方法的库 dll

c++ - GetAsyncKeyState() - 外部程序干扰它

android - Nexus One 上的 GestureOverlayView/Multitouch 问题

android - 在 TabLayout 中禁用选项卡的多点触控