【发布时间】:2014-10-15 15:15:30
【问题描述】:
原始输入可以得到两个鼠标的数据,但是如果用户同时移动了两个鼠标,我好像只能得到先检测到的鼠标的数据,而不能得到另一个鼠标的移动信息。
为了获取不同鼠标的鼠标信息,我是这样做的:
PeekMessage( &msg, c_handle, WM_INPUT, WM_INPUT, PM_NOREMOVE) != 0
GetRawInputData( (HRAWINPUT)msg.lParam, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER)) != dwSize )
所以,当第一个鼠标手柄被窥视时,只有在第一个鼠标的操作停止后才能检测到第二个鼠标。
msdn 谈到了将缓冲读取用于可以产生大量原始输入的设备。但是这种方法本身有很多问题,应该只适用于单个鼠标(设备)上的多个输入
不知道如何查看两个鼠标手柄并在同时移动它们时获取两个鼠标数据。
【问题讨论】:
标签: c++ winapi mouseevent mouse raw-input