ToUnicodeEx

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

int () ToUnicodeEx UINT  wVirtKey, / / virtual-cheie codeUINTwScanCode, / / scanare codulPBYTElpKeyState, / / cheie-stat arrayLPWSTRpwszBuff, / / tampon pentru cheie traduse intcchBuff, / / Dimensiune tampon cheie traduseUINTwFlags, / / set de funcția-condiționat steaguri HKLdwhkl / / keyboard layout mâner);
 

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.
dwhkl
Mâner pentru aspectul tastatură pentru a utiliza pentru a traduce codul dată. Acest parametru poate fi orice ghidaj de aspect tastatură anterior returnată de funcția LoadKeyboardLayout.

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 ToUnicodeEx nu ar putea fi suficient pentru a traduce codul virtual-cheie, deoarece o cheie mort anterioare este stocat în structura tastaturii.

De obicei, ToUnicodeEx 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 4.0 sau ulterioară.
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, ToUnicode, VkKeyScan

Index