Fungsi GetKeyNameTextA (winuser.h)

Mengambil string yang mewakili nama kunci.

Sintaks

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 Makna
16-23 Kode pemindaian. Nilai tergantung pada OEM.
24 Menunjukkan apakah kunci adalah kunci 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 Penekanan Tombol.

[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 diacu 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 mengakhiri.

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

Keterangan

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.

Metode ini mungkin tidak berfungsi dengan baik dengan beberapa tata letak keyboard yang menghasilkan beberapa karakter (yaitu ligatur) dan/atau karakter Unicode tambahan yang dicetak pada satu penekanan tombol. Selain itu, kunci yang dipetakan ke 'A'..' Kode kunci virtual Z' diterjemahkan ke huruf besar 'A'..' Karakter Z terlepas dari tata letak keyboard saat ini. Gunakan metode ToUnicode atau ToUnicodeEx dalam kasus seperti itu.

Header winuser.h mendefinisikan GetKeyNameText sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur 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

   
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 (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga

Keyboard Input

Tata Letak Keyboard

Sampel Tata Letak Keyboard

Kode ToUni

ToUnicodeEx