你好,
RAWINPUT是包含了从设备中获得原始输入信息。
typedef struct tagRAWINPUT {
RAWINPUTHEADER header;
// 信息头,数据类型是RAWINPUTHEADER结构体。
union {
// 数据,其数据类型是联合(union)
RAWMOUSE mouse;
RAWKEYBOARD keyboard;
RAWHID hid;
} data;
} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
这个结构体是通过作为lParam参数传递给WM_INPUT。
如果需要获得详细的信息
,例如原始输入内容的头部
,请使用GetRawInputData。
如果要阅读作为一个缓冲读取的消息循环RAWINPUT,调用GetRawInputBuffer。
如果要获取设备的具体信息,请使用GetRawInputDeviceInfo。
此外,我猜测,您可能是对于数据类型联合体有所以为,这里是关于联合体的一些资料:
http://msdn.microsoft.com/zh-cn/library/5dxy4b7b(v=VS.100).aspx
共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。
Rob Pan [MSFT]
MSDN Community Support |
Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
