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 |
---|---|
|
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 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 |