RAWINPUTDEVICE 结构 (winuser.h)

定义原始输入设备的信息。

语法

typedef struct tagRAWINPUTDEVICE {
  USHORT usUsagePage;
  USHORT usUsage;
  DWORD  dwFlags;
  HWND   hwndTarget;
} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;

成员

usUsagePage

类型:USHORT

原始输入设备的顶级集合使用情况页。 有关可能值的详细信息,请参阅 Windows 中支持的 HID 客户端。

usUsage

类型:USHORT

原始输入设备的顶级集合使用情况 ID。 有关可能值的详细信息,请参阅 Windows 中支持的 HID 客户端。

dwFlags

类型:DWORD

指定如何解释 usUsagePageusUsagePage提供的信息的模式标志。 它可以是零(默认值)或以下值之一。 默认情况下,只要具有窗口焦点,操作系统就会将具有指定 顶级集合(TLC)的设备的原始输入发送到已注册的应用程序。

价值 意义
RIDEV_REMOVE
0x00000001
如果已设置,则从包含列表中删除顶级集合。 这会告知操作系统停止从与顶级集合匹配的设备读取。
RIDEV_EXCLUDE
0x00000010
如果已设置,则指定读取完整使用页时要排除的顶级集合。 此标志仅影响已使用 RIDEV_PAGEONLY指定的 TLC。
RIDEV_PAGEONLY
0x00000020
如果设置,则指定顶级集合来自指定 usUsagePage的所有设备。 请注意,usUsage 必须为零。 若要排除特定的顶级集合,请使用 RIDEV_EXCLUDE
RIDEV_NOLEGACY
0x00000030
如果设置,这会阻止 usUsagePageusUsage 指定的任何设备生成旧消息。 这仅适用于鼠标和键盘。 请参阅“备注”。
RIDEV_INPUTSINK
0x00000100
如果已设置,则即使调用方不在前台,调用方也能接收输入。 请注意,必须指定 hwndTarget
RIDEV_CAPTUREMOUSE
0x00000200
如果设置,鼠标按钮单击不会激活其他窗口。 仅当为鼠标设备指定了 RIDEV_NOLEGACY 时,才能指定 RIDEV_CAPTUREMOUSE
RIDEV_NOHOTKEYS
0x00000200
如果已设置,则不会处理应用程序定义的键盘设备热键。 但是,系统热键;例如,仍处理 Alt+TAB 和 Ctrl+Alt+DEL。 默认情况下,将处理所有键盘热键。 即使未指定 RIDEV_NOLEGACY 并且 hwndTargetNULL,也可以指定 RIDEV_NOHOTKEYS
RIDEV_APPKEYS
0x00000400
如果已设置,则处理应用程序命令密钥。 仅当为键盘设备指定 RIDEV_NOLEGACY 时,才能指定 RIDEV_APPKEYS
RIDEV_EXINPUTSINK
0x00001000
如果已设置,则仅当前台应用程序未处理输入时,调用方才能在后台接收输入。 换句话说,如果未为原始输入注册前台应用程序,则注册的后台应用程序将收到输入。
Windows XP:在 Windows Vista 之前不支持此标志
RIDEV_DEVNOTIFY
0x00002000
如果已设置,则允许调用方接收设备到达和设备删除的 WM_INPUT_DEVICE_CHANGE 通知。
Windows XP:在 Windows Vista 之前不支持此标志

hwndTarget

类型:HWND

目标窗口的句柄。 如果 NULL,则原始输入事件遵循键盘焦点,以确保仅焦点应用程序窗口接收事件。

言论

如果为鼠标或键盘设置了 RIDEV_NOLEGACY,则系统不会为该应用程序生成该设备的任何旧消息。 例如,如果使用 RIDEV_NOLEGACY设置鼠标 TLC,则不会生成 WM_LBUTTONDOWN相关的旧鼠标消息。 同样,如果未使用 RIDEV_NOLEGACY设置键盘 TLC,则不会生成 WM_KEYDOWN相关的旧键盘消息

如果设置了 RIDEV_REMOVE 并且 hwndTarget 成员未 设置为 NULL,则 RegisterRawInputDevices 函数将失败。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
标头 winuser.h (包括 Windows.h)

另请参阅

概念

GetRegisteredRawInputDevices

原始输入

人机接口设备简介(HID)

Windows 中支持的 HID 客户端

HID USB 主页

参考

RegisterRawInputDevices