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

指定如何解释 usUsagePage 和 usUsage 提供的信息 模式标志。 (默认) 或以下值之一,可为零。 默认情况下,只要具有窗口焦点,操作系统就会从具有指定 顶级集合 (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_NOLEGACYhwndTargetNULL,也可以指定RIDEV_NOHOTKEYS
RIDEV_APPKEYS
0x00000400
如果设置,则处理应用程序命令键。 仅当为键盘设备指定RIDEV_NOLEGACY时,才能指定RIDEV_APPKEYS
RIDEV_EXINPUTSINK
0x00001000
如果设置,则仅当前台应用程序不处理输入时,调用方才能在后台接收输入。 换句话说,如果前台应用程序未注册原始输入,则已注册的后台应用程序将接收输入。
Windowsxp: 在 Windows Vista 之前不支持此标志
RIDEV_DEVNOTIFY
0x00002000
如果已设置,则调用方能够接收设备到达和设备移除 WM_INPUT_DEVICE_CHANGE 通知。
Windowsxp: 在 Windows Vista 之前不支持此标志

hwndTarget

类型:HWND

目标窗口的句柄。 如果 为 NULL ,则它跟随键盘焦点。

注解

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

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

要求

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

请参阅

概念性

GetRegisteredRawInputDevices

原始输入

人体学接口设备 (HID) 简介

Windows 中支持的 HID 客户端

HID USB 主页

引用

RegisterRawInputDevices