Funzione MapVirtualKeyExW (winuser.h)
Converte (mappe) un codice di chiave virtuale in un codice di analisi o un valore di carattere oppure converte un codice di analisi in un codice di chiave virtuale. La funzione converte i codici usando la lingua di input e un identificatore delle impostazioni locali di input.
Sintassi
UINT MapVirtualKeyExW(
[in] UINT uCode,
[in] UINT uMapType,
[in, out, optional] HKL dwhkl
);
Parametri
[in] uCode
Tipo: UINT
Codice della chiave virtuale o analisi del codice per una chiave. La modalità di interpretazione di questo valore dipende dal valore del parametro uMapType .
[in] uMapType
Tipo: UINT
Traduzione da eseguire. Il valore di questo parametro dipende dal valore del parametro uCode .
Valore | Significato |
---|---|
MAPVK_VK_TO_VSC 0 |
Il parametro uCode è un codice di chiave virtuale e viene convertito in un codice di analisi. Se si tratta di un codice di chiave virtuale che non distingue tra i tasti sinistro e destro, viene restituito il codice di analisi a sinistra. Se non è presente alcuna conversione, la funzione restituisce 0. |
MAPVK_VSC_TO_VK 1 |
Il parametro uCode è un codice di analisi e viene convertito in un codice di chiave virtuale che non distingue tra i tasti sinistro e destro. Se non è presente alcuna conversione, la funzione restituisce 0. Windows Vista e versioni successive: il byte elevato del valore uCode può contenere 0xe0 o 0xe1 per specificare il codice di analisi estesa. |
MAPVK_VK_TO_CHAR 2 |
Il parametro uCode è un codice di chiave virtuale e viene convertito in un valore di carattere non modificato nella parola di ordine inferiore del valore restituito. Le chiavi non recapitabili (segni diacritici) sono indicate impostando il bit superiore del valore restituito. Se non è presente alcuna conversione, la funzione restituisce 0. Vedere la sezione Osservazioni. |
MAPVK_VSC_TO_VK_EX 3 |
Il parametro uCode è un codice di analisi e viene convertito in un codice di chiave virtuale che distingue tra i tasti sinistro e destro. Se non è presente alcuna conversione, la funzione restituisce 0. Windows Vista e versioni successive: il byte elevato del valore uCode può contenere 0xe0 o 0xe1 per specificare il codice di analisi estesa. |
MAPVK_VK_TO_VSC_EX 4 |
Windows Vista e versioni successive: Il parametro uCode è un codice di chiave virtuale e viene convertito in un codice di analisi. Se si tratta di un codice di chiave virtuale che non distingue tra i tasti sinistro e destro, viene restituito il codice di analisi a sinistra. Se il codice di analisi è un codice di analisi esteso, il byte elevato del valore restituito conterrà 0xe0 o 0xe1 per specificare il codice di analisi estesa. Se non è presente alcuna conversione, la funzione restituisce 0. |
[in, out, optional] dwhkl
Tipo: HKL
Identificatore delle impostazioni locali di input da usare per tradurre il codice specificato. Questo parametro può essere qualsiasi identificatore delle impostazioni locali di input restituito in precedenza dalla funzione LoadKeyboardLayout .
Valore restituito
Tipo: UINT
Il valore restituito è un codice di analisi, un codice di chiave virtuale o un valore di carattere, a seconda del valore di uCode e uMapType. Se non è presente alcuna conversione, il valore restituito è zero.
Commenti
L'identificatore delle impostazioni locali di input è un concetto più ampio di un layout della tastiera, poiché può includere anche un convertitore di riconoscimento vocale, un metodo di input Editor (IME) o qualsiasi altra forma di input.
Un'applicazione può usare MapVirtualKeyEx per convertire i codici di analisi nelle costanti di codice della chiave virtuale VK_SHIFT, VK_CONTROL e VK_MENU e viceversa. Queste traduzioni non distinguono tra le istanze di sinistra e destra dei tasti MAIUSC, CTRL o ALT.
Un'applicazione può ottenere il codice di analisi corrispondente all'istanza sinistra o destra di una di queste chiavi chiamando MapVirtualKeyEx con uCode impostato su una delle costanti di codice della chiave virtuale seguenti:
- VK_LSHIFT
- VK_RSHIFT
- VK_LCONTROL
- VK_RCONTROL
- VK_LMENU
- VK_RMENU
Queste costanti distinzione sinistra e destra sono disponibili per un'applicazione solo tramite le funzioni GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKey e MapVirtualKeyEx . Per un elenco completo della tabella dei codici di chiave virtuale, vedere Codici chiave virtuale.
In MAPVK_VK_TO_CHAR modalità codici chiave virtuale, "A". Le chiavi Z vengono convertite in lettere maiuscole 'A'.' Caratteri Z indipendentemente dal layout corrente della tastiera. Se si vuole convertire un codice di chiave virtuale nel carattere corrispondente, usare la funzione ToUnicode .
Nota
L'intestazione winuser.h definisce MapVirtualKeyEx 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 |