Bagikan melalui


Fungsi GetKeyNameTextA (winuser.h)

Mengambil string yang mewakili nama kunci.

Sintaksis

int GetKeyNameTextA(
  [in]  LONG  lParam,
  [out] LPSTR lpString,
  [in]  int   cchSize
);

Parameter

[in] lParam

Jenis: LONG

Parameter kedua pesan keyboard (seperti WM_KEYDOWN) yang akan diproses. Fungsi ini menginterpretasikan posisi bit berikut dalam lParam.

Bit Arti
16-23 Kode pemindaian. Nilai tergantung pada OEM.
24 Menunjukkan apakah kunci adalah tombol yang diperluas, seperti tombol ALT dan CTRL kanan yang muncul pada keyboard tombol 101- atau 102 yang ditingkatkan. Nilainya adalah 1 jika merupakan kunci yang diperluas; jika tidak, itu adalah 0.
25 "Jangan peduli" bit. Aplikasi yang memanggil fungsi ini mengatur bit ini untuk menunjukkan bahwa fungsi tidak boleh membedakan antara tombol CTRL kiri dan kanan dan SHIFT, misalnya.

Untuk detail selengkapnya, lihat Bendera Pesan Keystroke.

[out] lpString

Jenis: LPTSTR

Buffer yang akan menerima nama kunci.

[in] cchSize

Jenis: int

Panjang maksimum, dalam karakter, dari nama kunci, termasuk karakter null yang mengakhiri. (Parameter ini harus sama dengan ukuran buffer yang ditujukkan oleh parameter lpString .)

Mengembalikan nilai

Jenis: int

Jika fungsi berhasil, string yang dihentikan null disalin ke dalam buffer yang ditentukan, dan nilai yang dikembalikan adalah panjang string, dalam karakter, tidak menghitung karakter null yang dihentikan.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Komentar

Format string nama kunci bergantung pada tata letak keyboard saat ini.

Tata letak keyboard mempertahankan daftar nama dalam bentuk string karakter untuk kunci dengan nama yang lebih panjang dari satu karakter. Nama kunci diterjemahkan sesuai dengan tata letak keyboard yang saat ini aktif, oleh karena itu fungsi mungkin mengembalikan hasil yang berbeda untuk tata letak keyboard yang berbeda.

Nama kunci karakter adalah karakter itu sendiri. Nama-nama kunci mati dieja secara lengkap.

Kunci karakter yang dipetakan ke 'A'.. ' Kode kunci virtual Z' diterjemahkan ke <U+0041 LATIN CAPITAL LETTER A>..<karakter> U+005A HURUF KAPITAL LATIN Z> terlepas dari tata letak keyboard saat ini. Dalam hal ini, gunakan metode ToUnicode atau ToUnicodeEx untuk mendapatkan karakter untuk tekan tombol yang sesuai.

Metode ini mungkin tidak berfungsi dengan baik dengan beberapa tata letak keyboard yang menghasilkan beberapa karakter (seperti ligatur) atau karakter Unicode tambahan pada satu penekanan tombol.

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

Input Keyboard

Tata Letak Keyboard

Sampel Tata Letak Keyboard

ToUnicode

ToUnicodeEx