Bagikan melalui


WM_SYSKEYUP pesan

Diposting ke jendela dengan fokus keyboard saat pengguna merilis tombol yang ditekan saat tombol ALT ditahan. Ini juga terjadi ketika tidak ada jendela yang saat ini memiliki fokus keyboard; dalam hal ini, pesan WM_SYSKEYUP dikirim ke jendela aktif. Jendela yang menerima pesan dapat membedakan antara kedua konteks ini dengan memeriksa kode konteks dalam parameter lParam .

Jendela menerima pesan ini melalui fungsi WindowProc-nya .

#define WM_SYSKEYUP                     0x0105

Parameter

wParam

Kode kunci virtual dari kunci yang dirilis. 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 dalam tabel berikut.

Bit Makna
0-15 Jumlah pengulangan untuk pesan saat ini. Nilainya adalah berapa kali penekanan tombol dipesan otomatis sebagai akibat dari pengguna yang menahan kunci. Jumlah pengulangan selalu satu untuk pesan WM_SYSKEYUP .
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 nol.
25-28 Dipesan; jangan gunakan.
29 Kode konteks. Nilainya adalah 1 jika kunci ALT tidak berfungsi saat kunci dirilis; nol jika pesan WM_SYSKEYUP diposting ke jendela aktif karena tidak ada jendela yang memiliki fokus keyboard.
30 Status kunci sebelumnya. Nilainya selalu 1 untuk pesan WM_SYSKEYUP .
31 Status transisi. Nilainya selalu 1 untuk pesan WM_SYSKEYUP .

Untuk detail selengkapnya, lihat Bendera Pesan Penekanan Tombol.

Menampilkan nilai

Aplikasi harus mengembalikan nol jika memproses pesan ini.

Keterangan

Fungsi DefWindowProc mengirimkan pesan WM_SYSCOMMAND ke jendela tingkat atas jika kunci F10 atau kunci ALT dirilis. Parameter wParam pesan diatur ke SC_KEYMENU.

Ketika kode konteks nol, pesan dapat diteruskan ke fungsi TranslateAccelerator , yang akan menanganinya seolah-olah itu adalah pesan kunci normal alih-alih pesan kunci karakter. Ini memungkinkan tombol akselerator digunakan dengan jendela aktif meskipun jendela aktif tidak memiliki fokus keyboard.

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 .

Untuk non-A.S. keyboard 102 tombol yang ditingkatkan, tombol ALT kanan ditangani sebagai tombol CTRL+ALT. Tabel berikut ini memperlihatkan urutan pesan yang dihasilkan saat pengguna menekan dan merilis kunci ini.

Pesan Kode kunci virtual
WM_KEYDOWN VK_CONTROL
WM_KEYDOWN VK_MENU
WM_KEYUP VK_CONTROL
WM_SYSKEYUP VK_MENU

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Winuser.h (termasuk Windows.h)

Lihat juga