Funzione VkKeyScanExW (winuser.h)
Converte un carattere nel codice della chiave virtuale corrispondente e nello stato di spostamento. La funzione converte il carattere usando la lingua di input e il layout della tastiera fisica identificati dall'identificatore delle impostazioni locali di input.
Sintassi
SHORT VkKeyScanExW(
[in] WCHAR ch,
[in] HKL dwhkl
);
Parametri
[in] ch
Tipo: TCHAR
Carattere da convertire in un codice di chiave virtuale.
[in] dwhkl
Tipo: HKL
Identificatore delle impostazioni locali di input usato per convertire il carattere. Questo parametro può essere qualsiasi identificatore delle impostazioni locali di input restituito in precedenza dalla funzione LoadKeyboardLayout .
Valore restituito
Tipo: SHORT
Se la funzione ha esito positivo, il byte di ordine basso del valore restituito contiene il codice della chiave virtuale e il byte di ordine elevato contiene lo stato di spostamento, che può essere una combinazione dei bit di flag seguenti.
Valore restituito | Descrizione |
---|---|
|
Viene premuto il tasto MAIUSC. |
|
Viene premuto il tasto CTRL. |
|
Viene premuto il tasto ALT. |
|
Viene premuto il tasto Hankaku |
|
Riservato (definito dal driver di layout della tastiera). |
|
Riservato (definito dal driver di layout della tastiera). |
Se la funzione non trova alcuna chiave che converte nel codice carattere passato, i byte di ordine basso e di ordine elevato contengono –1.
Commenti
L'identificatore delle impostazioni locali di input è un concetto più ampio di un layout della tastiera, poiché può includere anche un convertitore di riconoscimento vocale, un metodo di input Editor (IME) o qualsiasi altra forma di input.
Per i layout della tastiera che usano il tasto ALT a destra come tasto di spostamento (ad esempio, il layout della tastiera francese), lo stato di spostamento è rappresentato dal valore 6, perché il tasto ALT di destra viene convertito internamente in CTRL+ALT.
Le traduzioni per il tastierino numerico (VK_NUMPAD0 tramite VK_DIVIDE) vengono ignorate. Questa funzione è progettata per convertire i caratteri in sequenze di tasti solo dalla sezione principale della tastiera. Ad esempio, il carattere "7" viene convertito in VK_7, non VK_NUMPAD7.
VkKeyScanEx viene usato dalle applicazioni che inviano caratteri usando i messaggi WM_KEYUP e WM_KEYDOWN .
Nota
L'intestazione winuser.h definisce VkKeyScanEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |