getrawinputdata鼠标_Windows中多指针输入技术的实现与应用(4多鼠标输入的底层实现)...

本文介绍了Windows系统中使用GetRawInputData函数处理多鼠标输入的技术。通过注册RawInput设备,响应WM_INPUT消息,获取RAWINPUT结构数据,解析RAWMOUSE结构以获取鼠标状态、按键信息和坐标移动。在高速移动鼠标时,需要处理坐标并重定位鼠标指针,以避免消息丢失导致的不一致问题。
摘要由CSDN通过智能技术生成

MessageBox(hWnd,"RawInput Register Error.","RawInput init

failed!",MB_OK);

}

这里需要注意的是并不是有多少个鼠标输入就需要注册多少个RawInput设备,一般来说,注册一个RawInput设备处理目前焦点的原始输入数据就足够了,同样可以获得所有的鼠标原始输入数据。除非想对不同焦点的原始输入数据进行处理,才需要注册多个usUsagePage

与usUsage

不同的RawInput设备。

第三步:调用GetRawInputData函数获得pData大小。这里要说明的是GetRawInputData一般要在响应WM_INPUT消息时调用,不能随时调用。GetRawInputData函数原型如下:

UINT GetRawInputData(

HRAWINPUT

hRawInput,

UINT

uiCommand,

LPVOID

pData,

PUINT

pcbSize,

UINT

cbSizeHeader

); GetRawInputData第一参数为一个RAWINPUT结构的句柄,来自WM_INPUT消息的lParam

参数。要说明的是GetRawInputData并不是一个随时调用以检测有无RawInput设备输入的函数,实际上是一个对WM_INPUT消息的lParam

参数的解析函数,主要用途是从WM_INPUT消息的lParam

参数中提取出有用的信息,并加以组织成一个RAWINPUT结构输出,当然,由于WM_INPUT消息的lParam<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值