Bagikan melalui


Fungsi VkKeyScanExA (winuser.h)

Menerjemahkan karakter ke kode kunci virtual yang sesuai dan status pergeseran. Fungsi ini menerjemahkan karakter menggunakan bahasa input dan tata letak keyboard fisik yang diidentifikasi oleh pengidentifikasi lokal input.

Sintaks

SHORT VkKeyScanExA(
  [in] CHAR ch,
  [in] HKL  dwhkl
);

Parameter

[in] ch

Jenis: TCHAR

Karakter yang akan diterjemahkan ke dalam kode kunci virtual.

[in] dwhkl

Jenis: HKL

Pengidentifikasi lokal input yang digunakan untuk menerjemahkan karakter. Parameter ini dapat menjadi pengidentifikasi lokal input yang sebelumnya dikembalikan oleh fungsi LoadKeyboardLayout .

Mengembalikan nilai

Jenis: SHORT

Jika fungsi berhasil, byte urutan rendah dari nilai yang dikembalikan berisi kode kunci virtual dan byte urutan tinggi berisi status shift, yang dapat menjadi kombinasi dari bit bendera berikut.

Mengembalikan nilai Deskripsi
1
Salah satu tombol SHIFT ditekan.
2
Salah satu tombol CTRL ditekan.
4
Salah satu tombol ALT ditekan.
8
Tombol Hankaku ditekan
16
Dicadangkan (ditentukan oleh driver tata letak keyboard).
32
Dicadangkan (ditentukan oleh driver tata letak keyboard).
 

Jika fungsi tidak menemukan kunci yang diterjemahkan ke kode karakter yang diteruskan, byte urutan rendah dan urutan tinggi berisi –1.

Keterangan

Pengidentifikasi lokal input adalah konsep yang lebih luas daripada tata letak keyboard, karena juga dapat mencakup pengonversi ucapan ke teks, Metode Input Editor (IME), atau bentuk input lainnya.

Untuk tata letak keyboard yang menggunakan tombol ALT sebelah kanan sebagai tombol shift (misalnya, tata letak keyboard Prancis), status shift diwakili oleh nilai 6, karena tombol ALT sebelah kanan dikonversi secara internal menjadi CTRL+ALT.

Terjemahan untuk keypad numerik (VK_NUMPAD0 melalui VK_DIVIDE) diabaikan. Fungsi ini dimaksudkan untuk menerjemahkan karakter ke dalam penekanan tombol dari bagian keyboard utama saja. Misalnya, karakter "7" diterjemahkan ke dalam VK_7, bukan VK_NUMPAD7.

VkKeyScanEx digunakan oleh aplikasi yang mengirim karakter dengan menggunakan pesan WM_KEYUP dan WM_KEYDOWN .

Catatan

Header winuser.h mendefinisikan VkKeyScanEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (sertakan Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga