RegisterRawInputDevices 函数 (winuser.h)

注册提供原始输入数据的设备。

语法

BOOL RegisterRawInputDevices(
  [in] PCRAWINPUTDEVICE pRawInputDevices,
  [in] UINT             uiNumDevices,
  [in] UINT             cbSize
);

参数

[in] pRawInputDevices

类型: PCRAWINPUTDEVICE

RAWINPUTDEVICE 结构的数组,这些结构表示提供原始输入的设备。

[in] uiNumDevices

类型: UINT

pRawInputDevices 指向的 RAWINPUTDEVICE 结构的数目。

[in] cbSize

类型: UINT

RAWINPUTDEVICE 结构的大小(以字节为单位)。

返回值

类型: BOOL

如果函数成功,则为 TRUE;否则为 FALSE。 如果函数失败,请调用 GetLastError 以获取详细信息。

注解

若要接收 WM_INPUT 消息,应用程序必须先使用 RegisterRawInputDevices 注册原始输入设备。 默认情况下,应用程序不会接收原始输入。

若要接收 WM_INPUT_DEVICE_CHANGE 消息,应用程序必须为 由 RAWINPUTDEVICE 结构的 usUsagePage 和 usUsage 字段指定的每个设备类指定RIDEV_DEVNOTIFY标志。 默认情况下,应用程序不会收到原始输入设备到达和删除 WM_INPUT_DEVICE_CHANGE 通知。

如果 RAWINPUTDEVICE 结构设置了 RIDEV_REMOVE 标志,并且 hwndTarget 参数未设置为 NULL,则参数验证将失败。

每个原始输入设备类只能注册一个窗口来接收进程内的原始输入, (上次调用 RegisterRawInputDevices) 中传递的窗口。 因此,不应从库使用 RegisterRawInputDevices,因为它可能会干扰加载它的应用程序中已存在的任何原始输入处理逻辑。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 ext-ms-win-ntuser-rawinput-l1-1-0 (在 Windows 10 版本 10.0.14393 中引入)

请参阅

概念性

RAWINPUTDEVICE

原始输入

引用

WM_INPUT