Funzione VkKeyScanW (winuser.h)
[Questa funzione è stata sostituita dalla funzione VkKeyScanEx . Tuttavia, se non è necessario specificare un layout di tastiera, è comunque possibile usare VkKeyScan.
Converte un carattere nel codice del tasto virtuale corrispondente e lo stato di spostamento per la tastiera corrente.
Sintassi
SHORT VkKeyScanW(
[in] WCHAR 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 converte nel codice carattere passato, i byte di ordine basso e di ordine elevato contengono –1.
Commenti
Per i layout della 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
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 |