Funzione VkKeyScanA (winuser.h)
[Questa funzione è stata sostituita dalla funzione VkKeyScanEx . È comunque possibile usare VkKeyScan, se non è necessario specificare un layout della tastiera.
Converte un carattere nel codice della chiave virtuale corrispondente e lo stato di maiuscolo per la tastiera corrente.
Sintassi
SHORT VkKeyScanA(
[in] CHAR ch
);
Parametri
[in] ch
Tipo: TCHAR
Carattere da tradurre in codice chiave virtuale.
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 |
---|---|
|
Il tasto MAIUSC viene premuto. |
|
Il tasto CTRL viene premuto. |
|
Il tasto ALT viene premuto. |
|
Il tasto Hankaku viene premuto |
|
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 di carattere passato, sia i byte a basso ordine che i byte ad ordine elevato contengono –1.
Commenti
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.
VkKeyScan viene usato dalle applicazioni che inviano caratteri usando i messaggi di 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 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 |