Il messaggio WM_SYSKEYDOWN è inviato alla finestra con stato attivo quando l'utente preme il tasto F10 (che attiva la barra dei menu) o si tiene premuto alt chiave e quindi preme un altro tasto. Essa si verifica anche quando nessuna finestra attualmente ha il focus della tastiera; in questo caso, il messaggio WM_SYSKEYDOWN viene inviato alla finestra attiva. La finestra che riceve il messaggio può distinguere tra questi due contesti controllando il codice di contesto nel parametro lKeyData.
WM_SYSKEYDOWN nVirtKey = (int) wParam; / / tasto virtuale di codice lKeyData = lParam; / / dati chiave
Valore | Descrizione |
---|---|
0–15 | Specifica il conteggio di ripetizione del messaggio corrente. Il valore è il numero di volte che la sequenza di tasti è auto-ripete di conseguenza l'utente tenendo premuto il tasto. Se la sequenza di tasti è ritenuta abbastanza a lungo, vengono inviati i messaggi multipli. Tuttavia, il conte di ripetizione non è cumulativo. |
16-23 | Specifica il codice di scansione. Il valore dipende original equipment manufacturer (OEM). |
24 | Specifica se la chiave è un'estesa chiave, quali il destro alt e Ctrl + tasti che appaiono su una tastiera avanzata 101-102-chiave o. Il valore è 1 se si tratta di una chiave estesa; in caso contrario, è 0. |
covano | Riservati; non utilizzare. |
29 | Specifica il codice di contesto. Il valore è 1, se il tasto ALT viene premuto mentre viene premuto il tasto; è 0 se il messaggio WM_SYSKEYDOWN è inviato alla finestra attiva perché nessuna finestra ha lo. |
30 | Specifica lo stato precedente chiave. Il valore è 1, se il tasto è premuto prima dell'invio del messaggio, o è 0 se la chiave è fino. |
31 | Specifica lo stato di transizione. Il valore è sempre 0 per un messaggio WM_SYSKEYDOWN. |
Un'applicazione deve restituire zero se elabora questo messaggio.
La funzione DefWindowProc esamina la chiave specificata e genera un messaggio WM_SYSCOMMAND se la chiave è una scheda o immettere.
Quando il codice di contesto è zero, il messaggio può essere passato alla funzione TranslateAccelerator , che gestirà come se fosse un normale messaggio chiave invece di un messaggio chiave di caratteri. Questo permette di tasti di scelta rapida per l'utilizzo con la finestra attiva, anche se la finestra attiva non è stato attivo.
A causa della ripetizione automatica, più di un messaggio WM_SYSKEYDOWN possa verificarsi prima che venga inviato un messaggio WM_SYSKEYUP. Lo stato precedente chiave (a 30 bit) può essere utilizzato per determinare se il messaggio WM_SYSKEYDOWN indica la transizione del primo down o una transizione ripetuta giù.
Per le tastiere rafforzata 101 e 102 tasti, chiavi avanzate sono il giusto alt e Ctrl + tasti sulla sezione principale della tastiera; l'ins, CANC, casa, fine, PGSU, PGGIÙ e tasti freccia in grappoli a sinistra del tastierino numerico; e la divisione (/) e inserire le chiavi nel tastierino numerico. Altre tastiere potrebbero supportare il bit della chiave esteso nel parametro lParam.
Questo messaggio viene inviato anche ogni volta che l'utente preme la F10 chiave senza il tasto ALT.
nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarata in winuser.
Cenni preliminari sull'Input di tastiera, i messaggi di Input di tastiera, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYUP
Rimedio: Inserire il CD-ROM CD di MSDN Library.