ToUnicode

Funcția ToUnicode traduce codul specificat virtual-cheie și tastatură stat corespunzătoare Unicode caractere sau de caractere.

int () ToUnicode UINT  wVirtKey, / / virtual-cheie codeUINTwScanCode, / / scanare codulPBYTElpKeyState, / / adresa de matrice de stat-cheieLPWSTRpwszBuff, / / tampon pentru cheie traduse intcchBuff, / / Dimensiune tampon cheie traduseUINTwFlags / / set de funcția-condiționat steaguri);
 

Parametrii

wVirtKey
Precizează codul virtual-cheie pentru a fi tradus.
wScanCode
Specifică hardware scanare codul cheie să fie traduse. Pic de înaltă-ordine de această valoare este setat în cazul în care cheia este de până.
lpKeyState
Indicator spre o matrice de 256-byte care conține starea actuală a tastaturii. Fiecare element (octet) în matrice conține starea de o singură tastă. Dacă este setat bit high-ordinea de un octet, cheia este în jos.
pwszBuff
Indicatorul către buffer-ul care primește tradus Unicode caractere sau de caractere.
cchBuff
Specifică dimensiunea caractere de tampon a subliniat de parametrul pwszBuff .
wFlags
Un set de bit steaguri această condiție comportamentul func?iei. Setați pic 0 dacă un meniu este activ. Biți 1 prin intermediul 31 sunt rezervate.

Valorile întroarse

Funcția întoarce una din următoarele valori.

Valoarea Sensul
-1 Cheia specificată virtual este un personaj de morți-cheie (accent sau diacritică). Această valoare este returnat indiferent de aspectul de tastatură, chiar dacă mai multe personaje au fost introduse ?i sunt stocate în statul de tastatură. Dacă este posibil, chiar și cu Unicode dispuneri de tastatură, funcția a scris o versiune spațierea caracterului mort-cheie Tamponul specificat de pwszBuffer. De exemplu, funcția scrie caracterul SPAȚIEREA ACUTE (0x00B4), mai degrabă decât caracterul NON_SPACING acută (0x0301).
0 Cheia virtual specificat are nici o traducere pentru starea curentă a tastaturii. Nimic nu a fost scris de către buffer-ul specificat de pwszBuffer.
1 Un caracter a fost scris de către buffer-ul specificat de pwszBuffer.
2 sau mai mult Două sau mai multe caractere au fost scrise de către buffer-ul specificat de pwszBuff. Cauza cea mai comună pentru aceasta este că un caracter de morți-cheie (accent sau diacritică) stocate în aspect tastatură nu ar putea fi combinate cu cheia specificată virtuale pentru a forma un singur caracter.

Observații

Parametrii furnizate la func?ia de ToUnicode nu ar putea fi suficient pentru a traduce codul virtual-cheie, deoarece o cheie mort anterioare este stocat în structura tastaturii.

De obicei, ToUnicode efectuează traducerea bazat pe codul virtual-cheie. În unele cazuri, poate fi folosit cu toate acestea, pic 15 de parametrul wScanCode de a distinge între o apăsare de tastă ?i o cheie de presă.

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Neacceptat.
Windows CE:Neacceptat.
Antet:A declarat în winuser.h.
Import Biblioteca:Utilizarea user32.lib.

A se vedea, de asemenea

Tastatură intrare prezentare generală, funcții de Input tastatură, ToAscii, VkKeyScan

Index