Bagikan melalui


Fungsi MapVirtualKeyW (winuser.h)

Menerjemahkan (memetakan) kode kunci virtual ke dalam kode pemindaian atau nilai karakter, atau menerjemahkan kode pemindaian ke dalam kode kunci virtual.

Sintaksis

UINT MapVirtualKeyW(
  [in] UINT uCode,
  [in] UINT uMapType
);

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 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 Komentar.
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.

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

Untuk menentukan handel ke tata letak keyboard yang akan digunakan untuk menerjemahkan kode yang ditentukan, gunakan fungsi MapVirtualKeyEx.

Aplikasi dapat menggunakan MapVirtualKey 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 MapVirtualKey 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 ToUnicode.

Nota

Header winuser.h mendefinisikan MapVirtualKey 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