messaggio WM_UNICHAR

Il messaggio WM_UNICHAR può essere usato da un'applicazione per inserire l'input in altre finestre. Questo messaggio contiene il codice carattere del tasto premuto. Verificare se un'app di destinazione può elaborare WM_UNICHAR messaggi inviando il messaggio con wParam impostato su UNICODE_NOCHAR.

#define WM_UNICHAR                      0x0109

Parametri

wParam

Codice carattere della chiave.

Se wParam è UNICODE_NOCHAR e l'applicazione elabora questo messaggio, restituisce TRUE. La funzione DefWindowProc restituirà FALSE (impostazione predefinita).

Se wParam non è UNICODE_NOCHAR, restituire FALSE. Unicode DefWindowProc invia un messaggio di WM_CHAR con gli stessi parametri e la funzione ANSI DefWindowProc pubblica uno o due messaggi WM_CHAR con i caratteri ANSI corrispondenti.

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. Se la sequenza di tasti viene mantenuta abbastanza lunga, vengono inviati più messaggi. Tuttavia, il conteggio delle ripetizioni non è cumulativo.
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, è 0.
25-28 Riservati; non usare.
29 Codice di contesto. Il valore è 1 se il tasto ALT viene premuto mentre il tasto viene premuto; in caso contrario, il valore è 0.
30 Stato della chiave precedente. Il valore è 1 se la chiave è inattiva prima dell'invio del messaggio oppure è 0 se la chiave è in alto.
31 Stato di transizione. Il valore è 1 se il tasto viene rilasciato o è 0 se viene premuto il tasto.

Per altri dettagli, vedere Flag di messaggio di sequenza di tasti.

Valore restituito

Un'applicazione deve restituire zero se elabora questo messaggio.

Commenti

Il messaggio WM_UNICHAR è simile a WM_CHAR, ma usa il formato di trasformazione Unicode (UTF)-32, mentre WM_CHAR usa UTF-16.

Questo messaggio è progettato per inviare o pubblicare caratteri Unicode alle finestre ANSI e può gestire i caratteri del piano supplementare Unicode.

Poiché non esiste necessariamente una corrispondenza uno-a-uno tra i tasti premuti e i messaggi di carattere generati, le informazioni nella parola di ordine elevato del parametro lParam non sono in genere utili per le applicazioni. Le informazioni nella parola dell'ordine elevato si applicano solo al messaggio di WM_KEYDOWN più recente che precede la pubblicazione del messaggio WM_UNICHAR .

Per le tastiere avanzate da 101 e 102 tasti, i tasti estesi sono il tasto ALT destro e i tasti CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e freccia nei cluster a sinistra del tastierino numerico; e i tasti di divisione (/) e INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit con tasto esteso nel parametro lParam .

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Intestazione
Winuser.h (include Windows.h)

Vedi anche