Bagikan melalui


Struktur RAWINPUTDEVICE (winuser.h)

Menentukan informasi untuk perangkat input mentah.

Sintaksis

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

Anggota

usUsagePage

Jenis: USHORT

halaman Penggunaankoleksi tingkat atas untuk perangkat input mentah. Lihat Klien HID yang Didukung di Windows untuk detail tentang nilai yang mungkin.

usUsage

Jenis: USHORT

Pengumpulan tingkat atasID Penggunaan untuk perangkat input mentah. Lihat Klien HID yang Didukung di Windows untuk detail tentang nilai yang mungkin.

dwFlags

Jenis: DWORD

Bendera mode yang menentukan cara menginterpretasikan informasi yang disediakan oleh usUsagePage dan usUsage. Nilainya bisa nol (default) atau salah satu nilai berikut. Secara default, sistem operasi mengirim input mentah dari perangkat dengan pengumpulan tingkat atas (TLC) yang ditentukan ke aplikasi terdaftar selama memiliki fokus jendela.

Nilai Arti
RIDEV_REMOVE
0x00000001
Jika diatur, ini akan menghapus koleksi tingkat atas dari daftar inklusi. Ini memberi tahu sistem operasi untuk berhenti membaca dari perangkat yang cocok dengan koleksi tingkat atas.
RIDEV_EXCLUDE
0x00000010
Jika diatur, ini menentukan koleksi tingkat atas untuk dikecualikan saat membaca halaman penggunaan lengkap. Bendera ini hanya memengaruhi TLC yang halaman penggunaannya sudah ditentukan dengan RIDEV_PAGEONLY.
RIDEV_PAGEONLY
0x00000020
Jika diatur, ini menentukan semua perangkat yang koleksi tingkat atasnya berasal dari yang ditentukan usUsagePage. Perhatikan bahwa usUsage harus nol. Untuk mengecualikan koleksi tingkat atas tertentu, gunakan RIDEV_EXCLUDE.
RIDEV_NOLEGACY
0x00000030
Jika diatur, ini mencegah perangkat apa pun yang ditentukan oleh usUsagePage atau usUsage menghasilkan pesan warisan . Ini hanya untuk mouse dan keyboard. Lihat Komentar.
RIDEV_INPUTSINK
0x00000100
Jika diatur, ini memungkinkan pemanggil untuk menerima input bahkan ketika pemanggil tidak berada di latar depan. Perhatikan bahwa hwndTarget harus ditentukan.
RIDEV_CAPTUREMOUSE
0x00000200
Jika disetel, klik tombol mouse tidak mengaktifkan jendela lain. RIDEV_CAPTUREMOUSE hanya dapat ditentukan jika RIDEV_NOLEGACY ditentukan untuk perangkat mouse.
RIDEV_NOHOTKEYS
0x00000200
Jika diatur, hotkey perangkat keyboard yang ditentukan aplikasi tidak ditangani. Namun, hotkey sistem; misalnya, ALT+TAB dan CTRL+ALT+DEL, masih ditangani. Secara default, semua hotkey keyboard ditangani. RIDEV_NOHOTKEYS dapat ditentukan meskipun RIDEV_NOLEGACY tidak ditentukan dan hwndTargetNULL.
RIDEV_APPKEYS
0x00000400
Jika diatur, kunci perintah aplikasi akan ditangani. RIDEV_APPKEYS hanya dapat ditentukan jika RIDEV_NOLEGACY ditentukan untuk perangkat keyboard.
RIDEV_EXINPUTSINK
0x00001000
Jika diatur, ini memungkinkan pemanggil untuk menerima input di latar belakang hanya jika aplikasi latar depan tidak memprosesnya. Dengan kata lain, jika aplikasi latar depan tidak terdaftar untuk input mentah, maka aplikasi latar belakang yang terdaftar akan menerima input.
Windows XP: Bendera ini tidak didukung hingga Windows Vista
RIDEV_DEVNOTIFY
0x00002000
Jika diatur, ini memungkinkan pemanggil untuk menerima pemberitahuan WM_INPUT_DEVICE_CHANGE untuk kedatangan perangkat dan penghapusan perangkat.
Windows XP: Bendera ini tidak didukung hingga Windows Vista

hwndTarget

Jenis: HWND

Handel ke jendela target. Jika NULL, peristiwa input mentah ikuti fokus keyboard untuk memastikan hanya jendela aplikasi yang berfokus yang menerima peristiwa.

Komentar

Jika RIDEV_NOLEGACY diatur untuk mouse atau keyboard, sistem tidak menghasilkan pesan warisan untuk perangkat tersebut untuk aplikasi. Misalnya, jika TLC mouse diatur dengan RIDEV_NOLEGACY, WM_LBUTTONDOWN dan pesan mouse warisan terkait tidak dihasilkan. Demikian juga, jika TLC keyboard diatur dengan RIDEV_NOLEGACY, WM_KEYDOWN dan pesan keyboard warisan terkait tidak dihasilkan.

Jika RIDEV_REMOVE diatur dan anggota hwndTarget tidak diatur keNULL , fungsi RegisterRawInputDevices akan gagal.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header winuser.h (termasuk Windows.h)

Lihat juga

Konseptual

GetRegisteredRawInputDevices

Input Mentah

Pengantar Perangkat Antarmuka Manusia (HID)

Klien HID yang Didukung di Windows

beranda USB HID

Referensi

RegisterRawInputDevices