Condividi tramite


Funzione VkKeyScanA (winuser.h)

[Questa funzione è stata sostituita dalla funzione VkKeyScanEx. È comunque possibile usare VkKeyScan, tuttavia, se non è necessario specificare un layout di tastiera.]

Converte un carattere nel codice del tasto virtuale corrispondente e lo stato di spostamento per la tastiera corrente.

Sintassi

SHORT VkKeyScanA(
  [in] CHAR ch
);

Parametri

[in] ch

Tipo: TCHAR

Carattere da convertire in un codice di chiave virtuale.

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 si traduce nel codice carattere passato, i byte di ordine minimo e di ordine elevato contengono –1.

Osservazioni

Per i layout di 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.

VkKeyScan viene usato dalle applicazioni che inviano caratteri usando i messaggi WM_KEYUP e WM_KEYDOWN.

Nota

L'intestazione winuser.h definisce VkKeyScan 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winuser.h (include Windows.h)
libreria User32.lib
dll User32.dll

Vedere anche