什么`RAWINPUT :: header :: wParam`包含键盘输入

时间:2015-09-19 05:49:58

标签: c++ winapi raw-input

在查看RAWINPUT结构的MSDN文档时,它具有以下声明:

typedef struct tagRAWINPUT {
  RAWINPUTHEADER header;
  union {
    RAWMOUSE    mouse;
    RAWKEYBOARD keyboard;
    RAWHID      hid;
  } data;
} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;

此外,RAWINPUTHEADER结构包含以下内容:

typedef struct tagRAWINPUTHEADER {
  DWORD  dwType;
  DWORD  dwSize;
  HANDLE hDevice;
  WPARAM wParam;
} RAWINPUTHEADER, *PRAWINPUTHEADER;

其中感兴趣的是成员wParam

  

wParam

     

输入:WPARAM

     

WM_INPUT消息的wParam参数中传递的值。

那么,这个wParam究竟包含什么? (特别是键盘KEYDOWN输入?)

1 个答案:

答案 0 :(得分:2)

WM_INPUT的文档告诉您此信息:

  

wParam中
  输入代码。此参数可以是以下值之一。

     

<强> RIM_INPUT
  0
  应用程序位于前台时发生输入。应用程序必须调用DefWindowProc,以便系统可以执行清理。

     

<强> RIM_INPUTSINK
  1
  应用程序不在前台时发生输入。应用程序必须调用DefWindowProc,以便系统可以执行清理。