Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: xevuel
Biblioteki C/C++

ActivateKeyboardLayout

[funkcja] Ustawia lokalny identyfikator układu wejścia dla wywołującego wątku lub aktualnego procesu.

Składnia

C/C++
#include <windows.h>

HKL WINAPI ActivateKeyboardLayout(
HKL hkl,
UINT Flags
);

Argumenty

ArgumentOpis
hklIdentyfikator układu wejścia, który zostanie załadowany. Musi on być załadowany przez uprzednie wywołanie funkcji » WinAPILoadKeyboardLayout. Może on być albo uchwytem do tego identyfikatora, albo jedną z następujących wartości:

  • HKL_NEXT (1)
    Aktywuje następny identyfikator z listy przechowywanej w systemie.

  • HKL_PREV (0)
    Aktywuje poprzedni identyfikator z listy przechowywanej w systemie.

FlagsOkreśla, w jaki sposób identyfikator ma być załadowany. Ten argument może przyjąć jedną z następujących wartości:

  • KLF_REORDER (0x00000008)
    Jeżeli ta flaga zostanie ustawiona, systemowa lista identyfikatorów pozostanie w obecnej kolejności.
    Dla przykładu, jeśli aktualnym układem klawiatury jest angielski, ale załadowane są także francuski, niemiecki i hiszpański (w tej kolejności), aktywowanie niemieckiego z użyciem tej flagi spowoduje powstanie następującej listy: niemiecki, angielski, francuski, hiszpański. Jeśli flaga nie zostanie użyta, może powstać następujący porządek: niemiecki, hiszpański, angielski, francuski.
    Jeśli liczba załadowanych identyfikatorów w systemie jest mniejsza niż 3, użycie tej flagi nie ma znaczenia.

  • KLF_RESET (0x40000000)
    Jeśli ta flaga zostanie podana, ale KLF_SHIFTLOCK nie, Caps Lock będzie wyłączany aż do naciśnięcia tego klawisza ponownie. Jeżeli obie te flagi zostaną podane, stan Caps Locka będzie wyłączany poprzez naciśnięcie klawisza Shift. Te dwie metody wzajemnie się wykluczają, a ustawienia zostaną zapisane w rejestrze.

  • KLF_SETFORPROCESS (0x00000100)
    Aktywuje podany identyfikator i wysyła komunikat WM_INPUTLANGCHANGE do bieżącego wątku.

  • KLF_SHIFTLOCK (0x00010000)
    Ta flaga jest używana tylko z flagą KLF_RESET.

  • KLF_UNLOADPREVIOUS
    Ta wartość jest nieobsługiwana. Użyj funkcji » WinAPIUnloadKeyboardLayout.

Zwracana wartość

Jeśli wywołanie funkcji powiedzie się, zwróci ona poprzedni identyfikator układu wejścia. W przeciwnym wypadku zwróci 0. Aby uzyskać szczegółowe informacje o błędzie, użyj funkcji » WinAPIGetLastError.

Opis szczegółowy

Funkcja ActivateKeyboardLayout ustawia lokalny identyfikator układu wejścia dla wywołującego wątku lub aktualnego procesu.

ActivateKeyboardLayout nie ogranicza się tylko do układu klawiatury. Identyfikator wejścia jest pojęciem szerszym niż ten układ, ponieważ może on obejmować również konwerter speech-to-text, edytor IME, lub inne formy wejścia. Kilka identyfikatorów może być załadowanych w dowolnym czasie, ale tylko jeden może być aktywny w danej chwili. Ładowanie wielu identyfikatorów pozwala szybko przełączać się między nimi.

Kiedy dla każdego ustawienia jest dozwolonych wiele IME, podanie identyfikatora w którym wyższe słowo wynosi zero, spowoduje aktywowanie pierwszego IME na liście.

Podając flagi KLF_RESET i KLF_SHIFTLOCK można modyfikować sposób wyłączania klawisza Caps Lock. Ta opcja używana jest w celu dostosowania się do lokalnych standardów jak i osobistych preferencji.

Wymagania

Minimalny obsługiwany klientWindows 2000 Professional
Minimalny obsługiwany serwerWindows 2000 Server
NagłówekWinuser.h (wewnątrz Windows.h)
BibliotekaUser32.lib
DLLUser32.dll

Zagadnienia powiązane

LoadKeyboardLayoutŁaduje nowy lokalny identyfikator układu wejścia do systemu. (funkcja)
UnloadKeyboardLayoutZwalnia podany identyfikator układu wejścia. (funkcja)

Linki zewnętrzne