messaggio WM_SYSKEYUP
Inviato alla finestra con lo stato attivo della tastiera quando l'utente rilascia un tasto premuto mentre il tasto ALT è stato premuto. Si verifica anche quando nessuna finestra ha attualmente lo stato attivo della tastiera; in questo caso, il messaggio WM_SYSKEYUP viene inviato alla finestra attiva. La finestra che riceve il messaggio può distinguere tra questi due contesti controllando il codice di contesto nel parametro lParam .
Una finestra riceve questo messaggio tramite la relativa funzione WindowProc .
#define WM_SYSKEYUP 0x0105
Parametri
-
wParam
-
Codice della chiave virtuale della chiave da rilasciare. Vedere Codici di chiave virtuale.
-
lParam
-
Numero di ripetizioni, codice di analisi, flag di chiave estesa, codice di contesto, flag di stato chiave precedente e flag di stato di transizione, come illustrato nella tabella seguente.
BITS Significato 0-15 Numero di ripetizioni per il messaggio corrente. Il valore è il numero di volte in cui la sequenza di tasti viene creata automaticamente in seguito all'utente che tiene premuto il tasto. Il numero di ripetizioni è sempre uno per un messaggio WM_SYSKEYUP . 16-23 Codice di analisi. Il valore dipende dall'OEM. 24 Indica se il tasto è un tasto esteso, ad esempio i tasti ALT e CTRL di destra visualizzati su una tastiera avanzata da 101 o 102 tasti. Il valore è 1 se si tratta di una chiave estesa; in caso contrario, è zero. 25-28 Riservati; non usare. 29 Codice di contesto. Il valore è 1 se il tasto ALT è inattivo mentre viene rilasciato il tasto; è zero se il messaggio WM_SYSKEYUP viene inviato alla finestra attiva perché nessuna finestra ha lo stato attivo della tastiera. 30 Stato della chiave precedente. Il valore è sempre 1 per un messaggio WM_SYSKEYUP . 31 Stato di transizione. Il valore è sempre 1 per un messaggio WM_SYSKEYUP . Per altri dettagli, vedere Flag di messaggio di sequenza di tasti.
Valore restituito
Un'applicazione deve restituire zero se elabora questo messaggio.
Commenti
La funzione DefWindowProc invia un messaggio di WM_SYSCOMMAND alla finestra di primo livello se il tasto F10 o il tasto ALT è stato rilasciato. Il parametro wParam del messaggio è impostato su SC_KEYMENU.
Quando il codice di contesto è zero, il messaggio può essere passato alla funzione TranslateAccelerator , che la gestirà come se fosse un normale messaggio di chiave anziché un messaggio con chiave di carattere. In questo modo è possibile usare i tasti di scelta rapida con la finestra attiva anche se la finestra attiva non ha lo stato attivo della tastiera.
Per le tastiere avanzate da 101 e 102 tasti, i tasti estesi sono i tasti ALT e CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e arrow nei cluster a sinistra del tastierino numerico; e i tasti di divisione (/) e INVIO nel tastierino numerico. Altre tastiere possono supportare il bit del tasto esteso nel parametro lParam .
Per gli Stati Uniti tastiere con 102 tasti avanzati, il tasto ALT destro viene gestito come tasto CTRL+ALT. Nella tabella seguente viene illustrata la sequenza di messaggi risultanti quando l'utente preme e rilascia questo tasto.
Message | Codice della chiave virtuale |
---|---|
WM_KEYDOWN | VK_CONTROL |
WM_KEYDOWN | VK_MENU |
WM_KEYUP | VK_CONTROL |
WM_SYSKEYUP | VK_MENU |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|