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. |