Sdílet prostřednictvím


Vstup klávesnice

Tato část popisuje, jak systém generuje vstup klávesnice a jak aplikace přijímá a zpracovává tento vstup.

V této části

Jméno Popis
o zadávání pomocí klávesnice Popisuje vstup klávesnice.
pomocí zadávání pomocí klávesnice Popisuje úkoly, které jsou spojené se vstupem klávesnice.
referenční zadávání klávesnice Obsahuje referenční informace k rozhraní API.

Funkce

Jméno Popis
ActivateKeyboardLayout Nastaví vstupní identifikátor národního prostředí (dříve označovaný jako popisovač rozložení klávesnice) pro volající vlákno nebo aktuální proces. Identifikátor vstupního národního prostředí určuje národní prostředí i fyzické rozložení klávesnice.
BlockInput Blokuje vstupy z klávesnice a myši v aplikacích.
EnableWindow Povolí nebo zakáže zadávání myši a klávesnice do zadaného okna nebo ovládacího prvku. Když je vstup zakázaný, okno neobdrží vstup, například kliknutí myší a stisknutí kláves. Když je vstup povolený, okno přijme všechny vstupy.
GetActiveWindow Načte popisovač okna do aktivního okna připojeného k frontě zpráv volajícího vlákna.
GetAsyncKeyState Určuje, zda je klávesa v době volání funkce nahoru nebo dolů a zda byla klávesa stisknuta po předchozím volání GetAsyncKeyState.
GetFocus Načte popisovač do okna s fokusem klávesnice, pokud je okno připojené k frontě zpráv volajícího vlákna.
GetKeyboardLayout Načte identifikátor aktivního vstupního národního prostředí (dříve označovaný jako rozložení klávesnice) pro zadané vlákno. Pokud je parametr idThread nula, vrátí se vstupní identifikátor národního prostředí pro aktivní vlákno.
GetKeyboardLayoutList Načte vstupní identifikátory národního prostředí (dříve označované jako popisovače rozložení klávesnice) odpovídající aktuální sadě vstupních národních prostředí v systému. Funkce zkopíruje identifikátory do zadané vyrovnávací paměti.
GetKeyboardLayoutName Načte název aktivního vstupního identifikátoru národního prostředí (dříve označovaného jako rozložení klávesnice).
GetKeyboardState Zkopíruje stav 256 virtuálních klíčů do zadané vyrovnávací paměti.
GetKeyNameText Načte řetězec, který představuje název klíče.
GetKeyState Načte stav zadaného virtuálního klíče. Stav určuje, jestli je klávesa vzhůru, dolů nebo přepnutá (zapnuto, střídá se při každém stisknutí klávesy).
GetLastInputInfo Načte čas poslední vstupní události.
IsWindowEnabled Určuje, zda je zadané okno povoleno pro vstup myši a klávesnice.
LoadKeyboardLayout Načte do systému nový vstupní identifikátor národního prostředí (dříve označovaný jako rozložení klávesnice). Několik vstupních identifikátorů národního prostředí lze najednou načíst, ale najednou je aktivní pouze jeden pro jednotlivé procesy. Načtení více vstupních identifikátorů národního prostředí umožňuje rychle přepínat mezi nimi.
MapVirtualKey Přeloží (mapuje) kód virtuálního klíče na kód kontroly nebo hodnotu znaku nebo přeloží kód kontroly do kódu virtuálního klíče.
Pokud chcete zadat popisovač rozložení klávesnice, které se má použít k překladu zadaného kódu, použijte funkci MapVirtualKeyEx.
MapVirtualKeyEx Mapuje kód virtuálního klíče na skenovací kód nebo hodnotu znaku nebo přeloží kód kontroly na kód virtuálního klíče. Funkce přeloží kódy pomocí jazyka zadávání a identifikátoru národního prostředí.
OemKeyScan Mapuje kódy OEMASCII 0 až 0x0FF do kódů skenování OEM a stavů směn. Funkce poskytuje informace, které programu umožňují odeslat text OEM do jiného programu simulací vstupu klávesnice.
RegisterHotKey Definuje systémovou klávesu s klávesou hot key.
SendInput Syntetizuje stisknutí kláves, pohyby myši a kliknutí na tlačítko.
SetActiveWindow Aktivuje okno. Okno musí být připojeno k frontě zpráv volajícího vlákna.
SetFocus Nastaví fokus klávesnice na zadané okno. Okno musí být připojeno k frontě zpráv volajícího vlákna.
SetKeyboardState Zkopíruje 256 bajtové pole stavů klávesových zkratek do tabulky vstupního stavu klávesnice volajícího vlákna. Jedná se o stejnou tabulku, ke které přistupuje funkce GetKeyboardState a GetKeyState. Změny provedené v této tabulce nemají vliv na vstup klávesnice do žádného jiného vlákna.
toascii Přeloží zadaný kód virtuálního klíče a stav klávesnice na odpovídající znak nebo znaky. Funkce přeloží kód pomocí jazyka zadávání a rozložení fyzické klávesnice identifikovaného popisovačem rozložení klávesnice.
Pokud chcete zadat popisovač rozložení klávesnice, které se má použít k překladu zadaného kódu, použijte funkci ToAsciiEx.
toAsciiEx Přeloží zadaný kód virtuálního klíče a stav klávesnice na odpovídající znak nebo znaky. Funkce přeloží kód pomocí jazyka zadávání a rozložení fyzické klávesnice identifikovaného vstupním identifikátorem národního prostředí.
toUnicode Přeloží zadaný kód virtuálního klíče a stav klávesnice na odpovídající znak nebo znaky Unicode.
Pokud chcete zadat popisovač rozložení klávesnice, které se má použít k překladu zadaného kódu, použijte funkci ToUnicodeEx.
ToUnicodeEx Přeloží zadaný kód virtuálního klíče a stav klávesnice na odpovídající znak nebo znaky Unicode.
unloadKeyboardLayout Uvolní vstupní identifikátor národního prostředí (dříve označovaný jako rozložení klávesnice).
UnregisterHotKey Uvolní dříve zaregistrovanou klávesovou zkratku volajícím vláknem.
VkKeyScanEx Přeloží znak do odpovídajícího kódu virtuálního klíče a stavu směny. Funkce přeloží znak pomocí jazyka zadávání a rozložení fyzické klávesnice identifikovaného identifikátorem vstupního národního prostředí.

Následující funkce jsou zastaralé.

Funkce Popis
GetKBCodePage Načte aktuální znakovou stránku.
keybd_event Syntetizuje stisknutí klávesy. Systém může takové syntetizované stisknutí klávesy použít k vygenerování WM_KEYUP nebo WM_KEYDOWN zprávy. Obslužná rutina přerušení ovladače klávesnice volá funkci keybd_event.
VkKeyScan Převede znak na odpovídající kód virtuálního klíče a stav posunu pro aktuální klávesnici.

Zprávy

Jméno Popis
WM_GETHOTKEY Určuje klávesovou zkratku přidruženou k oknem.
WM_SETHOTKEY Přidruží k oknem klávesovou zkratku. Když uživatel stiskne klávesovou zkratku, systém aktivuje okno.

Upozornění

Jméno Popis
WM_ACTIVATE Odesláno do aktivovaného okna i deaktivovaného okna. Pokud okna používají stejnou vstupní frontu, zpráva se odešle synchronně, nejprve do okna procedury deaktivovaného okna nejvyšší úrovně a potom do okna procedury okna, které se aktivuje. Pokud okna používají různé vstupní fronty, zpráva se odešle asynchronně, takže okno se aktivuje okamžitě.
WM_APPCOMMAND Upozorní okno, že uživatel vygeneroval událost příkazu aplikace, například kliknutím na příkazové tlačítko aplikace pomocí myši nebo zadáním příkazové klávesy aplikace na klávesnici.
WM_CHAR Publikováno do okna s fokusem klávesnice, když WM_KEYDOWN zprávu přeloží funkce TranslateMessage. Zpráva WM_CHAR obsahuje kód znaku stisknuté klávesy.
WM_DEADCHAR Publikováno do okna s fokusem klávesnice, když WM_KEYUP zprávu přeloží funkce TranslateMessage. WM_DEADCHAR určuje kód znaku vygenerovaný mrtvým klíčem. Mrtvý klíč je klíč, který generuje znak, například umlaut (dvojitá tečka), který je kombinován s jiným znakem a tvoří složený znak. Například znak umlaut-O () se vygeneruje zadáním mrtvého klíče pro znak umlaut a zadáním klávesy O.
WM_HOTKEY Publikováno, když uživatel stiskne klávesovou zkratku registrovanou funkcí RegisterHotKey. Zpráva se umístí do horní části fronty zpráv přidružené k vláknu, které zaregistrovalo horký klíč.
WM_KEYDOWN Publikováno do okna s fokusem klávesnice při stisknutí nesystémové klávesy. Nesystémová klávesa je klávesa, která se stiskne, když není stisknutá klávesa ALT.
WM_KEYUP Publikováno v okně s fokusem klávesnice při uvolnění nesystémové klávesy. Nesystémová klávesa je klávesa, která se stiskne, když není stisknutá klávesa ALT, nebo klávesa klávesnice, která se stiskne, když je fokus klávesnice.
WM_KILLFOCUS Odesláno do okna těsně před ztrátou fokusu klávesnice.
WM_SETFOCUS Po získání fokusu klávesnice se odešle do okna.
WM_SYSDEADCHAR Odesláno do okna s fokusem klávesnice, když WM_SYSKEYDOWN zprávu přeloží funkce TranslateMessage. WM_SYSDEADCHAR určuje kód znaku mrtvé klávesy systému, tj. mrtvé klávesy, která se stiskne při podržení klávesy ALT.
WM_SYSKEYDOWN Publikováno v okně s fokusem klávesnice, když uživatel stiskne klávesu F10 (která aktivuje řádek nabídek) nebo podrží klávesu ALT a pak stiskne další klávesu. Dochází také v případě, že žádné okno aktuálně nemá fokus klávesnice; v tomto případě se do aktivního okna odešle zpráva WM_SYSKEYDOWN. Okno, které obdrží zprávu, může rozlišovat mezi těmito dvěma kontexty tím, že zkontroluje kontextový kód v parametru lParam.
WM_SYSKEYUP Publikováno v okně s fokusem klávesnice, když uživatel uvolní klávesu, která byla stisknuta, zatímco klávesa ALT byla přidržována. Dochází také v případě, že žádné okno aktuálně nemá fokus klávesnice; v tomto případě se zpráva WM_SYSKEYUP odešle do aktivního okna. Okno, které obdrží zprávu, může rozlišovat mezi těmito dvěma kontexty tím, že zkontroluje kontextový kód v parametru lParam.
WM_UNICHAR Publikováno do okna s fokusem klávesnice, když WM_KEYDOWN zprávu přeloží funkce TranslateMessage. Zpráva WM_UNICHAR obsahuje kód znaku stisknuté klávesy.

Struktury

Jméno Popis
HARDWAREINPUT Obsahuje informace o simulované zprávě generované jiným vstupním zařízením než klávesnicí nebo myší.
INPUT Obsahuje informace používané k syntetizaci vstupních událostí, jako jsou stisknutí kláves, pohyb myši a kliknutí myší.
KEYBDINPUT Obsahuje informace o simulované události klávesnice.
LASTINPUTINFO Obsahuje čas posledního vstupu.
MOUSEINPUT Obsahuje informace o simulované události myši.

Konstanty

Jméno Popis
Virtual-Key kódy Symbolické názvy konstant, šestnáctkové hodnoty a ekvivalenty myši nebo klávesnice pro kódy virtuálních klíčů používané systémem. Kódy jsou uvedeny v číselném pořadí.

Viz také

  • o zadávání pomocí klávesnice