Struktur KEYBDINPUT (winuser.h)

Berisi informasi tentang peristiwa keyboard yang disimulasikan.

Sintaks

typedef struct tagKEYBDINPUT {
  WORD      wVk;
  WORD      wScan;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;

Anggota

wVk

Jenis: WORD

Kode kunci virtual. Kode harus berupa nilai dalam rentang 1 hingga 254. Jika anggota dwFlags menentukan KEYEVENTF_UNICODE, wVk harus 0.

wScan

Jenis: WORD

Kode pemindaian perangkat keras untuk kunci tersebut. Jika dwFlags menentukan KEYEVENTF_UNICODE, wScan menentukan karakter Unicode yang akan dikirim ke aplikasi latar depan.

dwFlags

Jenis: DWORD

Menentukan berbagai aspek penekanan tombol. Anggota ini bisa menjadi kombinasi tertentu dari nilai berikut.

Nilai Makna
KEYEVENTF_EXTENDEDKEY
0x0001
Jika ditentukan, kode pemindaian wScan terdiri dari urutan dua byte, di mana byte pertama memiliki nilai 0xE0. Lihat Bendera Extended-Key untuk informasi selengkapnya.
KEYEVENTF_KEYUP
0x0002
Jika ditentukan, kunci sedang dirilis. Jika tidak ditentukan, tombol sedang ditekan.
KEYEVENTF_SCANCODE
0x0008
Jika ditentukan, wScan mengidentifikasi kunci dan wVk diabaikan.
KEYEVENTF_UNICODE
0x0004
Jika ditentukan, sistem mensintesis penekanan tombol VK_PACKET . Parameter wVk harus nol. Bendera ini hanya dapat digabungkan dengan bendera KEYEVENTF_KEYUP . Untuk informasi lebih lanjut, lihat bagian Keterangan.

time

Jenis: DWORD

Stempel waktu untuk peristiwa, dalam milidetik. Jika parameter ini nol, sistem akan memberikan stempel waktunya sendiri.

dwExtraInfo

Jenis: ULONG_PTR

Nilai tambahan yang terkait dengan penekanan tombol. Gunakan fungsi GetMessageExtraInfo untuk mendapatkan informasi ini.

Keterangan

INPUT_KEYBOARD mendukung metode input nonkeyboard—seperti pengenalan tulisan tangan atau pengenalan suara—seolah-olah itu adalah input teks dengan menggunakan bendera KEYEVENTF_UNICODE . Jika KEYEVENTF_UNICODE ditentukan, SendInput mengirimkan pesan WM_KEYDOWN atau WM_KEYUP ke antrean pesan utas latar depan dengan wParam sama dengan VK_PACKET. Setelah GetMessage atau PeekMessage mendapatkan pesan ini, meneruskan pesan ke TranslateMessage memposting pesan WM_CHAR dengan karakter Unicode yang awalnya ditentukan oleh wScan. Karakter Unicode ini akan secara otomatis dikonversi ke nilai ANSI yang sesuai jika diposting ke jendela ANSI.

Atur bendera KEYEVENTF_SCANCODE untuk menentukan input keyboard dalam hal kode pemindaian. Ini berguna untuk mensimulasikan penekanan tombol fisik terlepas dari keyboard mana yang saat ini digunakan. Anda juga dapat meneruskan bendera KEYEVENTF_EXTENDEDKEY jika kode pemindaian adalah kunci yang diperluas. Nilai kunci virtual tombol dapat berubah tergantung pada tata letak keyboard saat ini atau tombol lain yang ditekan, tetapi kode pemindaian akan selalu sama.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header winuser.h (sertakan Windows.h)

Lihat juga