Fungsi MapVirtualKeyExA (winuser.h)
Menerjemahkan (memetakan) kode kunci virtual ke dalam kode pemindaian atau nilai karakter, atau menerjemahkan kode pemindaian ke dalam kode kunci virtual. Fungsi ini menerjemahkan kode menggunakan bahasa input dan pengidentifikasi lokal input.
Sintaks
UINT MapVirtualKeyExA(
[in] UINT uCode,
[in] UINT uMapType,
[in, out, optional] HKL dwhkl
);
Parameter
[in] uCode
Jenis: UINT
Kode kunci virtual atau kode pemindaian untuk kunci. Bagaimana nilai ini ditafsirkan tergantung pada nilai parameter uMapType .
[in] uMapType
Jenis: UINT
Terjemahan yang akan dilakukan. Nilai parameter ini tergantung pada nilai parameter uCode .
Nilai | Makna |
---|---|
MAPVK_VK_TO_VSC 0 |
Parameter uCode adalah kode kunci virtual dan diterjemahkan ke dalam kode pemindaian. Jika ini adalah kode kunci virtual yang tidak membedakan antara kunci kiri dan kanan, kode pemindaian sebelah kiri dikembalikan. Jika tidak ada terjemahan, fungsi mengembalikan 0. |
MAPVK_VSC_TO_VK 1 |
Parameter uCode adalah kode pemindaian dan diterjemahkan ke dalam kode kunci virtual yang tidak membedakan antara kunci kiri dan kanan. Jika tidak ada terjemahan, fungsi mengembalikan 0. Windows Vista dan yang lebih baru: byte tinggi dari nilai uCode dapat berisi 0xe0 atau 0xe1 untuk menentukan kode pemindaian yang diperluas. |
MAPVK_VK_TO_CHAR 2 |
Parameter uCode adalah kode kunci virtual dan diterjemahkan ke dalam nilai karakter yang tidak di-shift dalam kata urutan rendah dari nilai yang dikembalikan. Tombol mati (diakritik) ditunjukkan dengan mengatur bit atas nilai yang dikembalikan. Jika tidak ada terjemahan, fungsi mengembalikan 0. Lihat Keterangan. |
MAPVK_VSC_TO_VK_EX 3 |
Parameter uCode adalah kode pemindaian dan diterjemahkan ke dalam kode kunci virtual yang membedakan antara kunci kiri dan kanan. Jika tidak ada terjemahan, fungsi mengembalikan 0. Windows Vista dan yang lebih baru: byte tinggi dari nilai uCode dapat berisi 0xe0 atau 0xe1 untuk menentukan kode pemindaian yang diperluas. |
MAPVK_VK_TO_VSC_EX 4 |
Windows Vista dan yang lebih baru: Parameter uCode adalah kode kunci virtual dan diterjemahkan ke dalam kode pemindaian. Jika ini adalah kode kunci virtual yang tidak membedakan antara kunci kiri dan kanan, kode pemindaian sebelah kiri dikembalikan. Jika kode pemindaian adalah kode pemindaian yang diperluas, byte tinggi dari nilai yang dikembalikan akan berisi 0xe0 atau 0xe1 untuk menentukan kode pemindaian yang diperluas. Jika tidak ada terjemahan, fungsi mengembalikan 0. |
[in, out, optional] dwhkl
Jenis: HKL
Masukkan pengidentifikasi lokal yang akan digunakan untuk menerjemahkan kode yang ditentukan. Parameter ini dapat menjadi pengidentifikasi lokal input yang sebelumnya dikembalikan oleh fungsi LoadKeyboardLayout .
Nilai kembali
Jenis: UINT
Nilai yang dikembalikan adalah kode pemindaian, kode kunci virtual, atau nilai karakter, tergantung pada nilai uCode dan uMapType. Jika tidak ada terjemahan, nilai yang dikembalikan adalah nol.
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.
Aplikasi dapat menggunakan MapVirtualKeyEx untuk menerjemahkan kode pemindaian ke konstanta kode kunci virtual VK_SHIFT, VK_CONTROL, dan VK_MENU, dan sebaliknya. Terjemahan ini tidak membedakan antara instans kiri dan kanan tombol SHIFT, CTRL, atau ALT.
Aplikasi bisa mendapatkan kode pemindaian yang sesuai dengan instans kiri atau kanan salah satu kunci ini dengan memanggil MapVirtualKeyEx dengan uCode yang diatur ke salah satu konstanta kode kunci virtual berikut:
- VK_LSHIFT
- VK_RSHIFT
- VK_LCONTROL
- VK_RCONTROL
- VK_LMENU
- VK_RMENU
Konstanta pembeda kiri dan kanan ini hanya tersedia untuk aplikasi melalui fungsi GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKey, dan MapVirtualKeyEx . Untuk daftar tabel lengkap kode kunci virtual, lihat Kode Kunci Virtual.
Dalam mode MAPVK_VK_TO_CHARkode kunci virtual, 'A'.. ' Kunci Z' diterjemahkan ke huruf besar 'A'..' Karakter Z terlepas dari tata letak keyboard saat ini. Jika Anda ingin menerjemahkan kode kunci virtual ke karakter yang sesuai, gunakan fungsi ToAscii .
Catatan
Header winuser.h mendefinisikan MapVirtualKeyEx 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 |