none
求WM_INPUT消息的说明及用法 RRS feed

答案

  • 你好,

     

    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.

    • 已标记为答案 Rob Pan 2011年10月20日 8:32
    2011年10月18日 6:43