ToUnicode

La funzione ToUnicode traduce il codice tasto virtuale specificato e stato della tastiera per il carattere Unicode corrispondente o i caratteri.

int ToUnicode ( UINT  wVirtKey, / / tasto virtuale di codiceUINTwScanCode, / / codice di scansionePBYTElpKeyState, / / indirizzo della matrice chiave dello statoLPWSTRpwszBuff, / / buffer per chiave tradotte intcchBuff, / / dimensione del buffer chiave tradotteUINTwFlags / / impostare dei flag di funzione-condizionamento);
 

Parametri

wVirtKey
Specifica il codice tasto virtuale da tradurre.
wScanCode
Specifica il codice di scansione hardware della chiave da tradurre. Il bit di ordine superiore di questo valore è impostato se la chiave è fino.
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.
pwszBuff
Puntatore al buffer che riceve il carattere Unicode o i caratteri tradotti.
cchBuff
Specifica la dimensione in caratteri di buffer a cui puntata il parametro pwszBuff .
wFlags
Un insieme di bit flag tale condizione il comportamento della funzione. Impostare il bit 0 se è attivo un menu. Bit 1 e 31 sono riservati.

Valori restituiti

La funzione restituisce uno dei valori seguenti.

Valore Significato
– 1 La chiave specificata virtuale è un personaggio di morti-chiave (accento o segno diacritico). Questo valore viene restituito indipendentemente dal layout di tastiera, anche se molti personaggi hanno stati digitati e vengono archiviati nello stato di tastiera. Se possibile, anche con layout di tastiera di Unicode, la funzione ha scritto una versione di spaziatura del personaggio chiave di morti nel buffer specificato da pwszBuffer. Ad esempio, la funzione scrive il carattere di spaziatura acuto (0x00B4), piuttosto che il personaggio di NON_SPACING acuta (0x0301).
0 La chiave specificata virtuale non ha alcuna traduzione per lo stato corrente della tastiera. Nulla è stato scritto nel buffer specificato da pwszBuffer.
1 Un carattere è stato scritto nel buffer specificato da pwszBuffer.
2 o più Due o più caratteri sono stati scritti nel buffer specificato da pwszBuff. La causa più comune di questo è che un personaggio chiave di morti (accento o segno diacritico) memorizzato nel layout di tastiera non poteva essere combinato con la chiave specificata virtuale per formare un singolo carattere.

Osservazioni

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

In genere, ToUnicode esegue la traduzione basata sul codice tasto virtuale. In alcuni casi, tuttavia, bit 15 del parametro wScanCode può essere utilizzato per distinguere un tasto e un comunicato chiave.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Non supportato.
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, ToAscii, VkKeyScan

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

Index