Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
Sintaksis
UINT MapVirtualKeyExW(
[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 | Arti |
|---|---|
|
MAPVK_VK_TO_VSC 0 |
Parameter |
|
MAPVK_VSC_TO_VK 1 |
Parameter uCode |
|
MAPVK_VK_TO_CHAR 2 |
Parameter uCode |
|
MAPVK_VSC_TO_VK_EX 3 |
Parameter |
|
MAPVK_VK_TO_VSC_EX 4 |
[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.
Mengembalikan nilai
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.
Komentar
Pengidentifikasi lokal input adalah konsep yang lebih luas daripada tata letak keyboard, karena juga dapat mencakup pengonversi ucapan ke teks, Editor Metode Input (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 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 GetKeyboardState, SetKeyboardState, GetAs fungsi, GetKeyState, MapVirtualKey, dan MapVirtualKey Ex. 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
Nota
Header winuser.h mendefinisikan MapVirtualKeyEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
| server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
| Platform Target |
Windows |
| Header |
winuser.h (termasuk Windows.h) |
| Pustaka |
User32.lib |
| DLL |
User32.dll |
Lihat juga
- GetAsyncKeyState
- GetKeyState
- GetKeyboardState
- GetSystemMetrics
- MapVirtualKey
- SetKeyboardState
- LoadKeyboardLayout
- Input Keyboard
- Gambaran Umum Input Keyboard