WM_SYSKEYDOWN

Mesajul WM_SYSKEYDOWN este postat la fereastra cu tastatura se concentreze atunci când utilizatorul apasă tasta F10 (care activează bara de meniu) sau deține în jos alt cheie și apoi apasă altă tastă. De asemenea, apare atunci când fereastra nu are focalizarea tastaturii; în acest caz, WM_SYSKEYDOWN mesajul este trimis în fereastra activă. Fereastra care primește mesajul poate distinge între aceste două contexte prin verificarea codul de contextul în parametrul lKeyData.

WM_SYSKEYDOWN nVirtKey = (int) wParam;    / / virtual-cheie cod lKeyData = lParam;          / / cheie date 

 

Parametrii

nVirtKey
Valoarea wParam. Precizează codul virtual-cheie cheie fiind presat.
lKeyData
Valoarea lParam. Specifică repeta numărul, codul de scanare, pavilion extins-cheie, contextul codul, anterioare cheie-statul de pavilion și tranziție-statul de pavilion, după cum se arată în tabelul următor.
Valoarea Descriere
0–15 Specifică conta repeta pentru din mesajul curent. Valoarea este numărul de ori keystroke este auto-repetat ca urmare a utilizatorului apăsată tasta. Dacă keystroke este destul de mult, mai multe mesaje sunt trimise. Cu toate acestea, Contele repetate nu este cumulativă.
16–23 Precizează codul de scanare. Valoarea depinde de producătorul de echipament original (OEM).
24 Specifică dacă cheia este o cheie extins, cum ar fi alt dreapta și tastele ctrl care apar pe un enhanced sau 102-tastatură cu 101 taste. Valoarea este 1 dacă este o cheie extinsă; în caz contrar, este 0.
25–28 Rezervate; nu utilizați.
29 Precizează codul de context. Valoarea este 1 dacă tasta ALT în jos în timp ce este apăsat tasta; este 0 dacă mesajul WM_SYSKEYDOWN este înregistrată în fereastra activă, pentru că nici o fereastră are focalizarea tastaturii.
30 Specifică statul cheie anterioare. Valoarea este 1 în cazul în care cheia este în jos înainte de mesajul este trimis, sau este 0 în cazul în care cheia este de până.
31 Specifică statul de tranziție. Valoarea este întotdeauna 0 pentru un mesaj WM_SYSKEYDOWN.

Valorile întroarse

Cererea trebuie să returnați zero dacă procesele de acest mesaj.

Ac?iune implicită

Funcția DefWindowProc analizează cheie dat și generează un mesaj de WM_SYSCOMMAND , în cazul în care cheia este fie fila sau introduceți.

Observații

Atunci când codul context este zero, mesajul poate fi transmis la funcția de TranslateAccelerator , care va ocupa o ca și cum ar fi un mesaj-cheie normale în loc de un mesaj cheie de caractere. Acest lucru permite accelerator chei pentru a fi utilizate cu fereastra activă, chiar dacă fereastra activă nu are focalizarea tastaturii.

Din cauza de repetare automată, mai mult de o WM_SYSKEYDOWN poate să apară mesaj înainte este trimis un mesaj WM_SYSKEYUP. Statul cheie anterioare (30 biți) pot fi utilizate pentru a determina dacă mesajul WM_SYSKEYDOWN indică trecerea prima jos sau o tranziție repetate în jos.

Pentru enhanced 101 ?i 102-cheie clape, enhanced chei sunt alt dreapta și tastele ctrl în secțiunea principală de tastatură; ins, del, acasă, end, page up, page down și tastele săgeată în grupuri la stânga minitastatura numerică; și decalajului (/) și introduceți tastele din tastatura numerică. Alte tastaturi poate sprijini pic extins-cheie în parametrul lParam.

Acest mesaj este trimis, de asemenea, ori de câte ori presele de utilizator F10 cheie fără tasta ALT.

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Necesită versiunea 1.0 sau mai târziu.
Antet:A declarat în winuser.h.

A se vedea, de asemenea

Prezentare de Input tastatură, tastatură intrare mesaje, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYUP

Index