ToAsciiEx

Funksjonen ToAsciiEx oversetter angitte virtuelle-nøkkel koden og tastatur tilstand til tilsvarende tegn eller tegn. Funksjonen oversetter koden ved hjelp av inndataspråk og fysiske tastaturoppsettet, identifiseres av gitt tastatur oppsett håndtaket.

int () ToAsciiEx UINT  uVirtKey, / / virtual-key kodeUINTuScanCode, / / skanning kodePBYTElpKeyState, / / taststatusen matriseLPWORDlpChar, / / bufre for oversatte nøkkelUINTuFlags, / / flag aktiv-menyen HKLdwhkl / / oppsett håndtaket på tastaturet);
 

Parametere

uVirtKey
Angir virtual-key-koden som skal oversettes.
uScanCode
Angir maskinvare skanning koden for nøkkelen som skal oversettes. Den signifikante biten i denne verdien er angitt Hvis nøkkelen er opp (ikke presset).
lpKeyState
Pekeren til en 256-byte-matrise som inneholder gjeldende status for tastaturet. Hvert element (byte) i matrisen inneholder delstaten én tast. Hvis signifikante biten av en byte er satt, er nøkkelen nede (presset).

Lav bit, hvis angitt, angir at nøkkelen er skrudd på. I denne funksjonen er bare Aktiver/deaktiver bit av caps lock-tasten relevant. Aktiver/deaktiver delstaten num lock og scroll lock tastene ignoreres.

lpChar
Pekeren til bufferen som skal motta den oversatte tegn eller tegn.
uFlags
Angir om en meny er aktiv. Denne parameteren må være 1 Hvis en meny er aktiv, null ellers.
dwhkl
Håndtere til tastaturoppsettet du bruker til å oversette den aktuelle koden. Denne parameteren kan være et tastatur oppsett markeringshåndtakene tidligere returneres av LoadKeyboardLayout -funksjonen.

Returverdier

Hvis den angitte nøkkelen er en død nøkkel, er returverdien negativt. Ellers er det en av følgende verdier.

Verdi Betydning
0 Den angitte virtuelle nøkkelen har ingen oversettelse for gjeldende status for tastaturet.
1 Ett tegn ble kopiert til bufferen.
2 To tegn ble kopiert til bufferen. Dette skjer vanligvis når et døde-nøkkel tegn (aksent eller diakritisk tegn) lagret i tastaturoppsettet ikke kan settes sammen med den angitte virtuelle nøkkelen å danne et enkelttegn.

Merknader

Parameterne som ble levert til funksjonen ToAsciiEx kanskje ikke tilstrekkelig til å oversette koden virtual-key, fordi en tidligere død nøkkel er lagret i tastaturoppsettet.

ToAsciiEx utfører vanligvis oversettelsen basert på virtual-key-koden. I noen tilfeller, men kan bit 15 av parameteren uScanCode brukes til å skille mellom en tastetrykk og en viktig utgivelse. Skanning-koden brukes for å oversette ALT +tast kombinasjoner.

Selv om NumLock er en veksleknapp som påvirker virkemåten til tastatur, ToAsciiEx ignorerer innstillingen Aktiver/deaktiver (lav bit) av lpKeyState (VK_NUMLOCK, fordi uVirtKey -parameteren alene er tilstrekkelig til å skille bevegelse markørtastene (VK_HOME, VK_INSERT og så videre) fra de numeriske tastene (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 4.0 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Som ikke støttes.
Topptekst:Deklarert i winuser.h.
Importere biblioteket:Bruk user32.lib.

Se også

Tastatur Input oversikt, tastatur Input funksjoner, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan

Index