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:
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk