Dela via


Tangentbordsinmatning

I det här avsnittet beskrivs hur systemet genererar tangentbordsindata och hur ett program tar emot och bearbetar indata.

I det här avsnittet

Namn Beskrivning
om tangentbordsinmatning Diskuterar tangentbordsinmatning.
med tangentbordsindata Omfattar uppgifter som är associerade med tangentbordsindata.
referens för tangentbordsinmatning Innehåller API-referensen.

Funktioner

Namn Beskrivning
ActivateKeyboardLayout Anger språkidentifieraren för indata (kallades tidigare tangentbordslayouthandtaget) för den anropande tråden eller den aktuella processen. Indataspråkidentifieraren anger ett språk och tangentbordets fysiska layout.
BlockInput Blockerar tangentbords- och musindatahändelser från att nå program.
EnableWindow Aktiverar eller inaktiverar mus- och tangentbordsindata till det angivna fönstret eller kontrollen. När indata har inaktiverats tar fönstret inte emot indata, till exempel musklickningar och tangenttryckningar. När indata är aktiverat tar fönstret emot alla indata.
GetActiveWindow Hämtar fönsterhandtaget till det aktiva fönstret som är kopplat till den anropande trådens meddelandekö.
GetAsyncKeyState Avgör om en nyckel är upp eller ned när funktionen anropas och om nyckeln trycktes ned efter ett tidigare anrop till GetAsyncKeyState.
GetFocus Hämtar handtaget till fönstret som har tangentbordsfokus, om fönstret är kopplat till den anropande trådens meddelandekö.
GetKeyboardLayout Hämtar den aktiva nationella indataidentifieraren (kallades tidigare tangentbordslayout) för den angivna tråden. Om parametern idThread är noll returneras indataspråkidentifieraren för den aktiva tråden.
GetKeyboardLayoutList Hämtar de nationella indataidentifierarna (kallades tidigare tangentbordslayouthandtag) som motsvarar den aktuella uppsättningen indataspråk i systemet. Funktionen kopierar identifierarna till den angivna bufferten.
GetKeyboardLayoutName Hämtar namnet på den aktiva språkvariantidentifieraren (kallades tidigare tangentbordslayout).
GetKeyboardState Kopierar statusen för de 256 virtuella nycklarna till den angivna bufferten.
GetKeyNameText Hämtar en sträng som representerar namnet på en nyckel.
GetKeyState Hämtar status för den angivna virtuella nyckeln. Statusen anger om nyckeln är upp, ned eller växlad (på, av alternerande varje gång nyckeln trycks ned).
GetLastInputInfo Hämtar tiden för den senaste indatahändelsen.
IsWindowEnabled Avgör om det angivna fönstret är aktiverat för mus- och tangentbordsindata.
LoadKeyboardLayout Läser in en ny indataidentifierare (kallades tidigare tangentbordslayout) i systemet. Flera nationella indataidentifierare kan läsas in åt gången, men endast en per process är aktiv i taget. Om du läser in flera nationella indataidentifierare kan du snabbt växla mellan dem.
MapVirtualKey Översätter (mappar) en kod med virtuell nyckel till en genomsökningskod eller ett teckenvärde, eller översätter en genomsökningskod till en virtuell nyckelkod.
Om du vill ange ett handtag till tangentbordslayouten som ska användas för att översätta den angivna koden använder du funktionen MapVirtualKeyEx.
MapVirtualKeyEx Mappar en kod med virtuell nyckel till en genomsökningskod eller ett teckenvärde, eller översätter en genomsökningskod till en virtuell nyckelkod. Funktionen översätter koderna med hjälp av indataspråket och en språkidentifierare för indata.
OemKeyScan Mappar OEMASCII-koder 0 till 0x0FF till OEM-genomsökningskoder och skifttillstånd. Funktionen innehåller information som gör att ett program kan skicka OEM-text till ett annat program genom att simulera tangentbordsindata.
RegisterHotKey Definierar en systemomfattande snabbnyckel.
SendInput Syntetiserar tangenttryckningar, musrörelser och knappklick.
SetActiveWindow Aktiverar ett fönster. Fönstret måste vara kopplat till den anropande trådens meddelandekö.
SetFocus Anger tangentbordets fokus till det angivna fönstret. Fönstret måste vara kopplat till den anropande trådens meddelandekö.
SetKeyboardState Kopierar en matris med 256 byte med tangentbordsnyckeltillstånd till den anropande trådens tabell för indatatillstånd för tangentbordet. Det här är samma tabell som används av funktionerna GetKeyboardState och GetKeyState. Ändringar som görs i den här tabellen påverkar inte tangentbordsinmatning till någon annan tråd.
ToAscii Översätter den angivna koden och tangentbordstillståndet för virtuell nyckel till motsvarande tecken eller tecken. Funktionen översätter koden med hjälp av indataspråket och den fysiska tangentbordslayouten som identifieras av tangentbordslayouthandtaget.
Om du vill ange ett handtag till tangentbordslayouten som ska användas för att översätta den angivna koden använder du funktionen ToAsciiEx.
ToAsciiEx Översätter den angivna koden och tangentbordstillståndet för virtuell nyckel till motsvarande tecken eller tecken. Funktionen översätter koden med hjälp av indataspråket och den fysiska tangentbordslayouten som identifieras av indataspråkidentifieraren.
ToUnicode Översätter den angivna koden och tangentbordstillståndet för virtuell nyckel till motsvarande Unicode-tecken eller -tecken.
Om du vill ange ett handtag till tangentbordslayouten som ska användas för att översätta den angivna koden använder du funktionen ToUnicodeEx.
ToUnicodeEx Översätter den angivna koden och tangentbordstillståndet för virtuell nyckel till motsvarande Unicode-tecken eller -tecken.
UnloadKeyboardLayout Tar bort en indataidentifierare (kallades tidigare tangentbordslayout).
AvregistreraHotKey Frigör en snabbnyckel som tidigare registrerats av den anropande tråden.
VkKeyScanEx Översätter ett tecken till motsvarande virtuell nyckelkod och skifttillstånd. Funktionen översätter tecknet med hjälp av indataspråket och den fysiska tangentbordslayouten som identifieras av indataspråkidentifieraren.

Följande funktioner är föråldrade.

Funktion Beskrivning
GetKBCodePage- Hämtar den aktuella kodsidan.
keybd_event Syntetiserar en tangenttryckning. Systemet kan använda en sådan syntetiserad tangenttryckning för att generera ett WM_KEYUP eller WM_KEYDOWN meddelande. Tangentbordsdrivrutinens avbrottshanterare anropar funktionen keybd_event.
VkKeyScan Översätter ett tecken till motsvarande virtuell nyckelkod och skifttillstånd för det aktuella tangentbordet.

Meddelanden

Namn Beskrivning
WM_GETHOTKEY Avgör den frekventa nyckel som är associerad med ett fönster.
WM_SETHOTKEY Kopplar en snabbnyckel till fönstret. När användaren trycker på snabbtangenten aktiverar systemet fönstret.

Meddelanden

Namn Beskrivning
WM_ACTIVATE Skickas till både fönstret som aktiveras och fönstret inaktiveras. Om fönstren använder samma indatakö skickas meddelandet synkront, först till fönsterproceduren för det övre fönstret som inaktiveras och sedan till fönsterproceduren för det övre fönstret som aktiveras. Om fönstren använder olika indataköer skickas meddelandet asynkront, så fönstret aktiveras omedelbart.
WM_APPCOMMAND Meddelar ett fönster som användaren genererade en programkommandohändelse, till exempel genom att klicka på en programkommandoknapp med musen eller skriva en programkommandonyckel på tangentbordet.
WM_CHAR Postat i fönstret med tangentbordsfokus när ett WM_KEYDOWN meddelande översätts av funktionen TranslateMessage. Meddelandet WM_CHAR innehåller teckenkoden för den tangent som trycktes på.
WM_DEADCHAR Postat i fönstret med tangentbordsfokus när ett WM_KEYUP meddelande översätts av funktionen TranslateMessage. WM_DEADCHAR anger en teckenkod som genereras av en död nyckel. En död nyckel är en nyckel som genererar ett tecken, till exempel umlaut (dubbelpunkt), som kombineras med ett annat tecken för att bilda ett sammansatt tecken. Till exempel genereras umlaut-O-tecknet ( ) genom att skriva den döda nyckeln för umlaut-tecknet och sedan skriva O-nyckeln.
WM_HOTKEY Postat när användaren trycker på en snabbnyckel som registrerats av funktionen RegisterHotKey. Meddelandet placeras överst i meddelandekön som är associerad med tråden som registrerade snabbnyckeln.
WM_KEYDOWN Postat i fönstret med tangentbordsfokus när en icke-systemnyckel trycks in. En icke-systemnyckel är en nyckel som trycks in när ALT-tangenten inte trycks in.
WM_KEYUP Postat i fönstret med tangentbordsfokus när en icke-systemnyckel släpps. En icke-systemnyckel är en tangent som trycks in när ALT-tangenten inte trycks in, eller en tangent som trycks in när ett fönster har tangentbordsfokus.
WM_KILLFOCUS Skickas till ett fönster omedelbart innan det förlorar tangentbordets fokus.
WM_SETFOCUS Skickas till ett fönster när det har fått tangentbordsfokus.
WM_SYSDEADCHAR Skickas till fönstret med tangentbordsfokus när ett WM_SYSKEYDOWN meddelande översätts av funktionen TranslateMessage. WM_SYSDEADCHAR anger teckenkoden för en systemlös nyckel, d.v.s. en död nyckel som trycks ned medan ALT-tangenten hålls ned.
WM_SYSKEYDOWN Postat i fönstret med tangentbordsfokus när användaren trycker på F10-tangenten (som aktiverar menyraden) eller håller ned ALT-tangenten och trycker sedan på en annan tangent. Det inträffar också när inget fönster för närvarande har tangentbordsfokus; I det här fallet skickas WM_SYSKEYDOWN-meddelandet till det aktiva fönstret. Fönstret som tar emot meddelandet kan skilja mellan dessa två kontexter genom att kontrollera kontextkoden i parametern lParam.
WM_SYSKEYUP Postat i fönstret med tangentbordsfokus när användaren släpper en tangent som trycktes ned medan ALT-tangenten hölls nere. Det inträffar också när inget fönster för närvarande har tangentbordsfokus; I det här fallet skickas det WM_SYSKEYUP meddelandet till det aktiva fönstret. Fönstret som tar emot meddelandet kan skilja mellan dessa två kontexter genom att kontrollera kontextkoden i parametern lParam.
WM_UNICHAR Postat i fönstret med tangentbordsfokus när ett WM_KEYDOWN meddelande översätts av funktionen TranslateMessage. Meddelandet WM_UNICHAR innehåller teckenkoden för nyckeln som trycktes på.

Strukturer

Namn Beskrivning
HARDWAREINPUT- Innehåller information om ett simulerat meddelande som genereras av en annan indataenhet än ett tangentbord eller en mus.
indata Innehåller information som används för att syntetisera indatahändelser som tangenttryckningar, musrörelser och musklickningar.
KEYBDINPUT- Innehåller information om en simulerad tangentbordshändelse.
LASTINPUTINFO Innehåller tiden för den senaste inmatningen.
MOUSEINPUT- Innehåller information om en simulerad mushändelse.

Konstanter

Namn Beskrivning
Virtual-Key koder De symboliska konstanta namnen, hexadecimala värden och mus- eller tangentbordsmotsvarigheterna för de virtuella nyckelkoder som används av systemet. Koderna visas i numerisk ordning.

Se även