Share via


Funzione VkKeyScanExA (winuser.h)

Converte un carattere nel codice della chiave virtuale corrispondente e nello stato di spostamento. La funzione converte il carattere usando il linguaggio di input e il layout della tastiera fisica identificati dall'identificatore delle impostazioni locali di input.

Sintassi

SHORT VkKeyScanExA(
  [in] CHAR ch,
  [in] HKL  dwhkl
);

Parametri

[in] ch

Tipo: TCHAR

Carattere da tradurre in codice chiave virtuale.

[in] dwhkl

Tipo: HKL

Identificatore delle impostazioni locali di input usato per tradurre 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 a basso ordine del valore restituito contiene il codice chiave virtuale e il byte ad ordine elevato contiene lo stato di spostamento, che può essere una combinazione dei bit di flag seguenti.

Valore restituito Descrizione
1
Il tasto MAIUSC viene premuto.
2
Il tasto CTRL viene premuto.
4
Il tasto ALT viene premuto.
8
Il tasto Hankaku viene premuto
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 di carattere passato, sia i byte a basso ordine che i byte ad ordine elevato contengono –1.

Commenti

L'identificatore delle impostazioni locali di input è un concetto più ampio di un layout della tastiera, poiché può anche includere un convertitore voce-a-testo, 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 maiuscole (ad esempio, il layout della tastiera francese), lo stato di spostamento è rappresentato dal valore 6, perché il tasto ALT a destra viene convertito internamente in CTRL+ALT.

Le traduzioni per il tastierino numerico (VK_NUMPAD0 tramite VK_DIVIDE) vengono ignorate. Questa funzione è destinata a tradurre i caratteri in tasti solo dalla sezione della tastiera principale. Ad esempio, il carattere "7" viene tradotto in VK_7, non VK_NUMPAD7.

VkKeyScanEx viene usato dalle applicazioni che inviano caratteri usando i messaggi di 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

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