Udostępnij za pośrednictwem


Klawiatury

W tej sekcji opisano sposób generowania przez system danych wejściowych klawiatury oraz sposobu, w jaki aplikacja odbiera dane wejściowe i przetwarza je.

W tej sekcji

Nazwa Opis
Informacje o danych wejściowych klawiatury Omówienie danych wejściowych klawiatury.
przy użyciu wprowadzania klawiatury Obejmuje zadania skojarzone z wprowadzaniem klawiatury.
klawiatury Zawiera dokumentację interfejsu API.

Funkcje

Nazwa Opis
ActivateKeyboardLayout Ustawia identyfikator ustawień regionalnych wejściowych (dawniej nazywany uchwytem układu klawiatury) dla wątku wywołującego lub bieżącego procesu. Wejściowy identyfikator ustawień regionalnych określa ustawienia regionalne, a także fizyczny układ klawiatury.
BlockInput Blokuje zdarzenia klawiatury i danych wejściowych myszy przed dotarciem do aplikacji.
EnableWindow Włącza lub wyłącza wprowadzanie myszy i klawiatury do określonego okna lub kontrolki. Gdy dane wejściowe są wyłączone, okno nie odbiera danych wejściowych, takich jak kliknięcia myszy i naciśnięcia. Po włączeniu danych wejściowych okno odbiera wszystkie dane wejściowe.
GetActiveWindow Pobiera uchwyt okna do aktywnego okna dołączonego do kolejki komunikatów wywołującego wątku.
GetAsyncKeyState Określa, czy klucz jest w górę, czy w dół w czasie wywoływania funkcji, i czy został naciśnięty po poprzednim wywołaniu polecenia GetAsyncKeyState.
GetFocus Pobiera uchwyt do okna z fokusem klawiatury, jeśli okno jest dołączone do kolejki komunikatów wątku wywołującego.
GetKeyboardLayout Pobiera aktywny identyfikator ustawień regionalnych wejściowych (wcześniej nazywany układem klawiatury) dla określonego wątku. Jeśli parametr idThread ma wartość zero, zwracany jest identyfikator ustawień regionalnych wejściowych dla aktywnego wątku.
GetKeyboardLayoutList Pobiera identyfikatory ustawień regionalnych wejściowych (dawniej nazywane uchwytami układu klawiatury) odpowiadające bieżącemu zestawowi ustawień regionalnych danych wejściowych w systemie. Funkcja kopiuje identyfikatory do określonego buforu.
GetKeyboardLayoutName Pobiera nazwę aktywnego identyfikatora ustawień regionalnych danych wejściowych (wcześniej nazywanego układem klawiatury).
GetKeyboardState Kopiuje stan 256 kluczy wirtualnych do określonego buforu.
GetKeyNameText Pobiera ciąg reprezentujący nazwę klucza.
GetKeyState Pobiera stan określonego klucza wirtualnego. Stan określa, czy klucz jest w górę, w dół, czy włączony (naprzemienny przy każdym naciśnięciu).
GetLastInputInfo Pobiera czas ostatniego zdarzenia wejściowego.
IsWindowEnabled Określa, czy określone okno jest włączone dla wprowadzania myszy i klawiatury.
LoadKeyboardLayout Ładuje do systemu nowy identyfikator ustawień regionalnych wejściowych (wcześniej nazywany układem klawiatury). Jednocześnie można załadować kilka identyfikatorów ustawień regionalnych, ale tylko jeden na proces jest aktywny w danym momencie. Ładowanie wielu wejściowych identyfikatorów ustawień regionalnych umożliwia szybkie przełączanie się między nimi.
MapVirtualKey Tłumaczy (mapy) kod klucza wirtualnego na kod skanowania lub wartość znaku albo tłumaczy kod skanowania na kod klucza wirtualnego.
Aby określić uchwyt układu klawiatury do użycia do tłumaczenia określonego kodu, użyj funkcji MapVirtualKeyEx.
MapVirtualKeyEx Mapuje kod klucza wirtualnego na kod skanowania lub wartość znaku albo tłumaczy kod skanowania na kod klucza wirtualnego. Funkcja tłumaczy kody przy użyciu języka wejściowego i identyfikatora ustawień regionalnych danych wejściowych.
OemKeyScan Mapuje kody OEMASCII od 0 do 0x0FF do kodów skanowania OEM i stanów przesunięcia. Funkcja udostępnia informacje umożliwiające programowi wysyłanie tekstu OEM do innego programu przez symulowanie danych wejściowych klawiatury.
RegisterHotKey Definiuje klucz gorący dla całego systemu.
SendInput Syntetyzuje naciśnięcia, ruchów myszy i kliknięć przycisków.
SetActiveWindow Aktywuje okno. Okno musi być dołączone do kolejki komunikatów wątku wywołującego.
SetFocus Ustawia fokus klawiatury na określone okno. Okno musi być dołączone do kolejki komunikatów wątku wywołującego.
SetKeyboardState Kopiuje tablicę 256-bajtową stanów klawiatury do tabeli stanu wprowadzania klawiatury wątku wywołującego. Jest to ta sama tabela uzyskana przez funkcje GetKeyboardState i GetKeyState. Zmiany wprowadzone w tej tabeli nie mają wpływu na wprowadzanie klawiatury do żadnego innego wątku.
ToAscii Tłumaczy określony kod klucza wirtualnego i stan klawiatury na odpowiadający mu znak lub znaki. Funkcja tłumaczy kod przy użyciu języka wejściowego i fizycznego układu klawiatury identyfikowane przez uchwyt układu klawiatury.
Aby określić uchwyt układu klawiatury, który ma być używany do tłumaczenia określonego kodu, użyj funkcji ToAsciiEx.
toAsciiEx Tłumaczy określony kod klucza wirtualnego i stan klawiatury na odpowiadający mu znak lub znaki. Funkcja tłumaczy kod przy użyciu języka wejściowego i fizycznego układu klawiatury zidentyfikowanych przez identyfikator ustawień regionalnych danych wejściowych.
ToUnicode Tłumaczy określony kod klucza wirtualnego i stan klawiatury na odpowiadający mu znak Lub znaki Unicode.
Aby określić uchwyt w układzie klawiatury używany do tłumaczenia określonego kodu, użyj funkcji ToUnicodeEx.
ToUnicodeEx Tłumaczy określony kod klucza wirtualnego i stan klawiatury na odpowiadający mu znak Lub znaki Unicode.
UnloadKeyboardLayout Zwalnia identyfikator ustawień regionalnych wejściowych (wcześniej nazywany układem klawiatury).
UnregisterHotKey Zwalnia klucz hot wcześniej zarejestrowany przez wątek wywołujący.
VkKeyScanEx Tłumaczy znak na odpowiedni kod klucza wirtualnego i stan przesunięcia. Funkcja tłumaczy znak przy użyciu języka wejściowego i fizycznego układu klawiatury zidentyfikowanych przez identyfikator ustawień regionalnych danych wejściowych.

Następujące funkcje są przestarzałe.

Funkcja Opis
GetKBCodePage Pobiera bieżącą stronę kodów.
keybd_event Syntetyzuje naciśnięcie. System może użyć takiego syntetyzowanego naciśnięcia, aby wygenerować komunikat WM_KEYUP lub WM_KEYDOWN. Procedura obsługi przerwań sterownika klawiatury wywołuje funkcję keybd_event.
VkKeyScan Tłumaczy znak na odpowiedni kod wirtualnego i stan przesunięcia dla bieżącej klawiatury.

Wiadomości

Nazwa Opis
WM_GETHOTKEY Określa klucz gorący skojarzony z oknem.
WM_SETHOTKEY Kojarzy klucz gorący z oknem. Gdy użytkownik naciśnie Hot, system aktywuje okno.

Powiadomienia

Nazwa Opis
WM_ACTIVATE Wysłane do aktywowanego okna i dezaktywowanego okna. Jeśli okna korzystają z tej samej kolejki wejściowej, komunikat jest wysyłany synchronicznie, najpierw do procedury okna dezaktywowanego okna najwyższego poziomu, a następnie do procedury okna aktywowanego okna najwyższego poziomu. Jeśli okna używają różnych kolejek wejściowych, komunikat jest wysyłany asynchronicznie, więc okno jest aktywowane natychmiast.
WM_APPCOMMAND Powiadamia okno, że użytkownik wygenerował zdarzenie polecenia aplikacji, na przykład klikając przycisk polecenia aplikacji przy użyciu myszy lub wpisując polecenia aplikacji na klawiaturze.
WM_CHAR Wysłana do okna z fokusem klawiatury, gdy komunikat WM_KEYDOWN jest tłumaczony przez funkcję TranslateMessage. Komunikat WM_CHAR zawiera kod znaku, który został naciśnięty.
WM_DEADCHAR Wysłana do okna z fokusem klawiatury, gdy komunikat WM_KEYUP jest tłumaczony przez funkcję TranslateMessage. WM_DEADCHAR określa kod znaku generowany przez martwy klucz. Martwy klucz to klucz, który generuje znak, taki jak umlaut (podwójna kropka), który jest połączony z innym znakiem w celu utworzenia znaku złożonego. Na przykład znak umlaut-O ( ) jest generowany przez wpisanie martwego klucza dla znaku umlaut, a następnie wpisanie klucza O.
WM_HOTKEY Opublikowany, gdy użytkownik naciśnie hot zarejestrowany przez funkcję RegisterHotKey. Komunikat jest umieszczany w górnej części kolejki komunikatów skojarzonej z wątkiem, który zarejestrował klucz gorący.
WM_KEYDOWN Wysłana do okna z fokusem klawiatury po naciśnięciu niesystemowego. Klucz niesystemowy to, który jest naciskany, gdy ALT nie jest naciśnięty.
WM_KEYUP Wysłana do okna z fokusem klawiatury po zwolnieniu niesystemowego. niesystemowy to, który jest naciskany, gdy ALT nie jest naciskany lub klawiatury, który jest naciskany, gdy okno ma fokus klawiatury.
WM_KILLFOCUS Wysłane do okna bezpośrednio przed utratą fokusu klawiatury.
WM_SETFOCUS Wysłane do okna po zdobyciu fokusu klawiatury.
WM_SYSDEADCHAR Wysłane do okna z fokusem klawiatury, gdy komunikat WM_SYSKEYDOWN jest tłumaczony przez funkcję TranslateMessage. WM_SYSDEADCHAR określa kod znaku klucza nieaktywnego systemu, który jest naciśnięciem martwego podczas przytrzymywania ALT.
WM_SYSKEYDOWN Wysłana do okna z fokusem klawiatury, gdy użytkownik naciska F10 (który aktywuje pasek menu) lub przytrzymuje ALT, a następnie naciska inny. Występuje również wtedy, gdy żadne okno nie ma obecnie fokusu klawiatury; w takim przypadku komunikat WM_SYSKEYDOWN jest wysyłany do aktywnego okna. Okno odbierające komunikat może odróżnić te dwa konteksty, sprawdzając kod kontekstu w parametrze lParam.
WM_SYSKEYUP Wysłana do okna z fokusem klawiatury, gdy użytkownik zwolni, który został naciśnięty, podczas gdy ALT został przytrzymyany. Występuje również wtedy, gdy żadne okno nie ma obecnie fokusu klawiatury; w takim przypadku komunikat WM_SYSKEYUP jest wysyłany do aktywnego okna. Okno odbierające komunikat może odróżnić te dwa konteksty, sprawdzając kod kontekstu w parametrze lParam.
WM_UNICHAR Wysłana do okna z fokusem klawiatury, gdy komunikat WM_KEYDOWN jest tłumaczony przez funkcję TranslateMessage. Komunikat WM_UNICHAR zawiera kod znaku, który został naciśnięty.

Struktur

Nazwa Opis
HARDWAREINPUT Zawiera informacje o symulowanym komunikacie wygenerowanym przez urządzenie wejściowe inne niż klawiatura lub mysz.
INPUT Zawiera informacje używane do synchronizowania zdarzeń wejściowych, takich jak naciśnięcia, ruch myszy i kliknięcia myszy.
KEYBDINPUT Zawiera informacje o symulowanym zdarzeniu klawiatury.
LASTINPUTINFO Zawiera czas ostatniego wejścia.
MOUSEINPUT Zawiera informacje o symulowanym zdarzeniu myszy.

Stałe

Nazwa Opis
kody Virtual-Key Symboliczne nazwy stałe, wartości szesnastkowe oraz odpowiedniki myszy lub klawiatury dla kodów wirtualnych używanych przez system. Kody są wymienione w kolejności liczbowej.

Zobacz też