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