Condividi tramite


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

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

Vedi anche