ToAsciiEx

Funcția ToAsciiEx traduce codul specificat virtual-cheie și tastatură stat corespunzătoare caracter sau caractere. Funcția traduce codul folosind limba de intrare ?i structura tastaturii fizice identificate de mânerul aspect tastatură dat.

int () ToAsciiEx UINT  uVirtKey, / / virtual-cheie codeUINTuScanCode, / / scanare codulPBYTElpKeyState, / / cheie-stat arrayLPWORDlpChar, / / tampon pentru cheie traduseUINTuFlags, / / active-meniul pavilion HKLdwhkl / / keyboard layout mâner);
 

Parametrii

uVirtKey
Precizează codul virtual-cheie pentru a fi tradus.
uScanCode
Specifică hardware scanare codul cheie să fie traduse. High-ordine bit de această valoare este setat în cazul în care cheia este sus (nu presat).
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 (apăsat).

Bit mici, dacă setați, indică faptul că cheia este toggled pe. În această funcție, este doar de biți de comutare a tastei caps lock. Statul comutare num lock și scroll lock tastele este ignorat.

lpChar
Indicatorul către buffer-ul care va primi tradus caracter sau caractere.
uFlags
Specifică dacă un meniu este activ. Acest parametru trebuie să fie 1 dacă este activ un meniu, altfel zero.
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

Dacă cheia specificată este o cheie mort, valoarea returnată este negativ. În caz contrar, este una din următoarele valori.

Valoarea Sensul
0 Cheia virtual specificat are nici o traducere pentru starea curentă a tastaturii.
1 Un caracter a fost copiate în zona-tampon.
2 Două caractere au fost copiate în zona-tampon. Aceasta se întâmplă de obicei când un caracter de morți-cheie (accent sau diacritică) stocate în aspect tastatură nu este compus cu tasta virtual specificate pentru a forma un singur caracter.

Observații

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

De obicei, ToAsciiEx efectuează traducerea bazat pe codul virtual-cheie. În unele cazuri, este cu toate acestea, pot fi utilizate pic 15 de parametrul uScanCode pentru a distinge între o apăsare de tastă și un cheie de presă. Codul de scanare este utilizat pentru traducerea ALT +tastă numerică combinații.

Deși num lock este o tastă de comutare care afectează comportamentul de tastatură, ToAsciiEx ignoră setarea de comutare (low bit) de lpKeyState (VK_NUMLOCK, deoarece parametrul uVirtKey singur este suficient pentru a distinge cheile de circulație cursorul (VK_HOME, VK_INSERT, și așa mai departe) din tastele numerice (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).

QuickInfo

nbsp; Windows &NT: necesită versiunea 4.0 sau ulterioară.
Windows:Necesită Windows 95 sau o versiune ulterioară.
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ă, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan

Index