Поделиться через


Структура RAWINPUTDEVICE (winuser.h)

Определяет сведения для необработанных устройств ввода.

Синтаксис

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

Члены

usUsagePage

Тип: USHORT

коллекции верхнего уровнястраница "Использование" для необработанного входного устройства. Дополнительные сведения о возможных значениях см. в клиентов HID, поддерживаемых в Windows.

usUsage

Тип: USHORT

коллекции верхнего уровняидентификатор использования для необработанного входного устройства. Дополнительные сведения о возможных значениях см. в клиентов HID, поддерживаемых в Windows.

dwFlags

Тип: DWORD

Флаг режима, указывающий, как интерпретировать сведения, предоставляемые usUsagePage и usUsage. Оно может быть равно нулю (по умолчанию) или одному из следующих значений. По умолчанию операционная система отправляет необработанные входные данные с устройств с указанным коллекцией верхнего уровня (TLC) в зарегистрированное приложение до тех пор, пока он имеет фокус окна.

Ценность Значение
RIDEV_REMOVE
0x00000001
Если задано, это удаляет коллекцию верхнего уровня из списка включения. Это указывает операционной системе прекратить чтение с устройства, которое соответствует коллекции верхнего уровня.
RIDEV_EXCLUDE
0x00000010
Если задано, это указывает коллекции верхнего уровня, которые следует исключить при чтении полной страницы использования. Этот флаг влияет только на TLC, страница использования которого уже указана с RIDEV_PAGEONLY.
RIDEV_PAGEONLY
0x00000020
Если задано, это указывает все устройства, коллекция верхнего уровня которых находится из указанной usUsagePage. Обратите внимание, что usUsage должно быть равно нулю. Чтобы исключить определенную коллекцию верхнего уровня, используйте RIDEV_EXCLUDE.
RIDEV_NOLEGACY
0x00000030
Если задано, это предотвращает создание устаревших сообщений usUsagePage или usUsage. Это только для мыши и клавиатуры. См. примечания.
RIDEV_INPUTSINK
0x00000100
Если задано, это позволяет вызывающему объекту получать входные данные, даже если вызывающий объект не находится на переднем плане. Обратите внимание, что необходимо указать hwndTarget.
RIDEV_CAPTUREMOUSE
0x00000200
Если задано, нажатие кнопки мыши не активирует другое окно. RIDEV_CAPTUREMOUSE можно указать только в том случае, если RIDEV_NOLEGACY задано для устройства мыши.
RIDEV_NOHOTKEYS
0x00000200
Если задано, горячие клавиши клавиатуры, определяемые приложением, не обрабатываются. Однако системные горячие ключи; например, ALT+TAB и CTRL+ALT+DEL по-прежнему обрабатываются. По умолчанию обрабатываются все горячие клавиши клавиатуры. RIDEV_NOHOTKEYS можно указать, даже если RIDEV_NOLEGACY не задано и hwndTargetNULL.
RIDEV_APPKEYS
0x00000400
Если задано, ключи команд приложения обрабатываются. RIDEV_APPKEYS можно указать только в том случае, если RIDEV_NOLEGACY указан для устройства клавиатуры.
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, WM_LBUTTONDOWN и связанные устаревшие сообщения мыши не создаются. Аналогичным образом, если клавиатура TLC задана с RIDEV_NOLEGACY, WM_KEYDOWN и связанных устаревших сообщений клавиатуры не создаются.

Если задан RIDEV_REMOVE, а элемент hwndTarget не имеет значения NULL, то функция RegisterRawInputDevices завершится ошибкой.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
заголовка winuser.h (включая Windows.h)

См. также

концептуальные

GetRegisteredRawInputDevices

необработанные входные

общие сведения о устройствах с человеческим интерфейсом (HID)

клиентов HID, поддерживаемых в Windows

домашнюю страницу HID USB

Справочник

RegisterRawInputDevices