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
1
Viene premuto il tasto MAIUSC.
2
Viene premuto il tasto CTRL.
4
Viene premuto il tasto ALT.
8
Viene premuto il tasto Hankaku
16
Riservato (definito dal driver di layout della tastiera).
32
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

Vedi anche