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.
Diposting ke jendela dengan fokus keyboard saat tombol nonsystem ditekan. Tombol nonsystem adalah tombol yang ditekan saat tombol ALT tidak ditekan.
#define WM_KEYDOWN 0x0100
Parameter
-
wParam
-
Kode kunci virtual dari kunci nonsystem. Lihat Kode Kunci Virtual.
-
lParam
-
Jumlah berulang, kode pemindaian, bendera extended-key, kode konteks, bendera status kunci sebelumnya, dan bendera status transisi, seperti yang ditunjukkan berikut ini.
Bit Makna 0-15 Jumlah pengulangan untuk pesan saat ini. Nilainya adalah berapa kali penekanan tombol di-autorepeated sebagai akibat dari pengguna yang menahan kunci. Jika penekanan tombol ditahan cukup lama, beberapa pesan akan dikirim. Namun, jumlah pengulangan tidak kumulatif. 16-23 Kode pemindaian. Nilainya tergantung pada OEM. 24 Menunjukkan apakah kunci adalah kunci yang diperluas, seperti tombol ALT dan CTRL kanan yang muncul pada keyboard 101- atau 102-tombol yang disempurnakan. Nilainya adalah 1 jika merupakan kunci yang diperluas; jika tidak, itu adalah 0. 25-28 Dipesan; jangan gunakan. 29 Kode konteks. Nilainya selalu 0 untuk pesan WM_KEYDOWN . 30 Status kunci sebelumnya. Nilainya adalah 1 jika kunci tidak berfungsi sebelum pesan dikirim, atau nol jika kunci naik. 31 Status transisi. Nilainya selalu 0 untuk pesan WM_KEYDOWN . Untuk detail selengkapnya, lihat Bendera Pesan Keystroke.
Menampilkan nilai
Aplikasi harus mengembalikan nol jika memproses pesan ini.
Contoh
LRESULT CALLBACK HostWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_KEYDOWN:
if (wParam == VK_ESCAPE)
{
if (isFullScreen)
{
GoPartialScreen();
}
}
break;
// ...
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Contoh dari Sampel Klasik Windows di GitHub.
Keterangan
Jika tombol F10 ditekan, fungsi DefWindowProc mengatur bendera internal. Ketika DefWindowProc menerima pesan WM_KEYUP , fungsi memeriksa apakah bendera internal diatur dan, jika demikian, mengirim pesan WM_SYSCOMMAND ke jendela tingkat atas. Parameter WM_SYSCOMMAND pesan diatur ke SC_KEYMENU.
Karena fitur autorepeat, lebih dari satu pesan WM_KEYDOWN dapat diposting sebelum pesan WM_KEYUP diposting. Status kunci sebelumnya (bit 30) dapat digunakan untuk menentukan apakah pesan WM_KEYDOWN menunjukkan transisi turun pertama atau transisi berulang.
Untuk keyboard 101 dan 102 tombol yang disempurnakan, tombol yang diperluas adalah tombol ALT dan CTRL yang tepat di bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan tombol bagi (/) dan ENTER di keypad numerik. Keyboard lain dapat mendukung bit extended-key dalam parameter lParam .
Aplikasi harus meneruskan wParam ke TranslateMessage tanpa mengubahnya.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
| Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
| Header |
|