首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用原始输入同时获取两个老鼠的数据

使用原始输入同时获取两个老鼠的数据
EN

Stack Overflow用户
提问于 2014-10-15 15:15:30
回答 1查看 803关注 0票数 0

原始输入可以得到两只老鼠的数据,但是如果用户同时移动两只老鼠,我似乎只能先得到被检测到的老鼠的数据,而不能得到另一只老鼠的运动信息。

为了获取不同老鼠的鼠标信息,我就是这样做的:

代码语言:javascript
复制
PeekMessage( &msg, c_handle, WM_INPUT, WM_INPUT, PM_NOREMOVE) != 0

GetRawInputData(    (HRAWINPUT)msg.lParam, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER)) != dwSize  )

因此,当第一鼠标句柄被窥视时,只能在第一鼠标上的操作停止之后才能检测到第二鼠标。

msdn谈到了对能够产生大量原始输入的设备使用缓冲读取。但是这种方法本身存在许多问题,只适用于单个鼠标(设备)上的多个输入。

不确定如何查看两个鼠标句柄,并在两个鼠标数据同时移动时获取它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-15 15:56:54

也许使用PM_NOREMOVE会引起问题。我建议使用GetMessage()或PM_REMOVE。你所描述的不应该是一个问题,因为我做了一些类似的事情,没有这个问题。

还要确保在wndproc消息末尾调用DefRawInputProc()。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26386069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档