ToAsciiEx

De ToAsciiEx functie zet de opgegeven virtuele-toonsoort wetboek en de status van het toetsenbord naar het bijbehorende teken of tekens. De functie vertaalt de code met behulp van de invoertaal en de fysieke toetsenbordindeling geïdentificeerd door het gegeven toetsenbord lay-out handvat.

int () ToAsciiEx UINT  uVirtKey, / / virtuele-key codeUINTuScanCode, / / code scannenPBYTElpKeyState, / / sleutel-staat matrixLPWORDlpChar, / / buffer voor vertaalde sleutelUINTuFlags, / / actief-menu markeren HKLdwhkl / / toetsenbord lay-out handvat);
 

Parameters

uVirtKey
Hiermee geeft u de virtuele-sleutel code te vertalen.
uScanCode
Hiermee geeft u de hardware Scancode van de sleutel te vertalen. De high-bit van deze waarde is ingesteld als de sleutel is up (niet ingedrukt).
lpKeyState
Aanwijzer naar een 256-byte-matrix die de huidige status van het toetsenbord bevat. Elk element (byte) in de matrix bevat de status van één toets. Als de hoge-orde bit van een byte is ingesteld, is de toets omlaag (ingedrukt).

De lage bit, als deze is ingesteld, geeft aan dat de sleutel is gevoorzid. In deze functie is alleen de knevel bit van de caps lock-toets relevant. De knevel staat van de num lock en scroll lock toetsen wordt genegeerd.

lpChar
Pointer naar de buffer die de vertaalde teken of tekens ontvangt.
uFlags
Hiermee geeft u aan of een menu actief is. Deze parameter moet 1 als een menu actief is, anders nul.
dwhkl
Ingang naar de toetsenbord lay-out te gebruiken om te vertalen de gegeven code. Deze parameter kan worden op een toetsenbord lay-out greep eerder geretourneerd door de functie LoadKeyboardLayout.

Retourwaarden

Als de opgegeven sleutel een dode sleutel is, is de geretourneerde waarde negatief. Anders, het is een van de volgende waarden.

Waarde Betekenis
0 De opgegeven virtuele sleutel heeft geen vertaling voor de huidige status van het toetsenbord.
1 Eén teken aan de buffer gekopieerd.
2 Twee tekens werden naar de buffer gekopieerd. Dit gebeurt meestal wanneer een dode-sleutel karakter (accent of diakritisch teken) opgeslagen in de toetsenbordindeling kan niet worden samengesteld met de opgegeven virtuele sleutel vormen één teken.

Opmerkingen

De parameters geleverd aan de ToAsciiEx functie misschien niet volstaan om te vertalen de virtuele-sleutel code, omdat een vorige dode sleutel is opgeslagen in de toetsenbordindeling.

ToAsciiEx voert, de vertaling op basis van de virtuele-sleutel code. In sommige gevallen, kan echter bits 15 van de uScanCode -parameter worden gebruikt om te onderscheiden tussen een toetsaanslag en een belangrijke release. De Scancode wordt gebruikt voor het vertalen van ALT +Numeriek- toetscombinaties.

Hoewel num-lock een knevel sleutel die toetsenbord gedrag beïnvloedt is, ToAsciiEx negeert de knevel instelling (de lage bitsnelheid) van lpKeyState (VK_NUMLOCK, omdat de uVirtKey parameter alleen al is voldoende om te onderscheiden van de cursortoetsen beweging (VK_HOME, VK_INSERT, enzovoort) van de numerieke toetsen (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).

Syntaxisinfo

nbsp; Windows &NT: versie 4.0 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Niet-ondersteunde.
Header:Verklaard in winuser.h.
Bibliotheek importeren:User32.lib gebruiken.

Zie ook

Toetsenbord Input overzicht, toetsenbord Input functies, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan

Index