ToAscii

La funzione ToAscii traduce il codice tasto virtuale specificato e stato della tastiera per il carattere o i caratteri corrispondenti. La funzione si traduce il codice utilizzando la lingua di input e il layout di tastiera fisica identificato l'handle del layout di tastiera dato.

int (ToAscii UINT  uVirtKey, / / tasto virtuale di codiceUINTuScanCode, / / codice di scansionePBYTElpKeyState, / / chiave dello stato di matriceLPWORDlpChar, / / buffer per chiave tradotteUINTuFlags / / bandiera attivo-menù);
 

Parametri

uVirtKey
Specifica il codice tasto virtuale da tradurre.
uScanCode
Specifica il codice di scansione hardware della chiave da tradurre. Il bit di ordine superiore di questo valore è impostato se la chiave è alto (non pressato).
lpKeyState
Puntatore a una matrice di 256 byte che contiene lo stato corrente della tastiera. Ogni elemento (byte) nella matrice contiene lo stato di un tasto. Se è impostato il bit di ordine superiore di un byte, il tasto è premuto (pressata).

Il basso bit, se impostata, indica che la chiave è attivabile/disattivabile su. In questa funzione, solo il bit di attivazione/disattivazione del tasto BLOC MAIUSC è rilevante. Lo stato di attivazione/disattivazione dei tasti Bloc num lock e scorrimento viene ignorato.

lpChar
Puntatore al buffer che riceverà il carattere tradotti o caratteri.
uFlags
Specifica se un menu è attivo. Questo parametro deve essere 1 se un menu è attivo o 0 altrimenti.

Valori restituiti

Se il tasto specificato è un tasto morto, il valore restituito è negativo. In caso contrario, è uno dei valori seguenti.

Valore Significato
0 La chiave specificata virtuale non ha alcuna traduzione per lo stato corrente della tastiera.
1 Un carattere è stato copiato nel buffer.
2 Due personaggi sono stati copiati nel buffer. Questo di solito accade quando un personaggio chiave di morti (accento o segno diacritico) memorizzato nel layout di tastiera non può essere composti con la chiave specificata virtuale per formare un singolo carattere.

Osservazioni

I parametri forniti alla funzione ToAscii potrebbero non essere sufficienti per tradurre il codice tasto virtuale, perché una chiave morta precedente viene memorizzata nel layout della tastiera.

In genere, ToAscii esegue la traduzione basata sul codice tasto virtuale. In alcuni casi, tuttavia, bit 15 del parametro uScanCode può essere usato per distinguere un tasto e un comunicato chiave. Il codice di analisi viene utilizzato per tradurre ALT +tasto numerico combinazioni.

Anche se Bloc num è una chiave di attivazione/disattivazione che influisce sul comportamento della tastiera, ToAscii ignora l'impostazione attiva/disattiva (il basso bit) di lpKeyState (VK_NUMLOCK, perché il parametro di uVirtKey da solo è sufficiente a distinguere i tasti di movimento cursore (VK_HOME, VK_INSERT e così via) dai tasti numerici (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.

Vedi anche

Cenni preliminari sull'Input di tastiera, funzioni di Input di tastiera, OemKeyScan, ToUnicode, VkKeyScan

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index