Freigeben über


ActivateKeyboardLayout-Funktion (winuser.h)

Legt den Eingabe-Gebietsschemabezeichner (früher als Tastaturlayouthandle bezeichnet) für den aufrufenden Thread oder den aktuellen Prozess fest. Der Eingabe-Gebietsschemabezeichner gibt ein Gebietsschema und das physische Layout der Tastatur an.

Syntax

HKL ActivateKeyboardLayout(
  [in] HKL  hkl,
  [in] UINT Flags
);

Parameter

[in] hkl

Typ: HKL

Eingabegebietsbezeichner, der aktiviert werden soll.

Der Eingabegebietsschemabezeichner muss von einem vorherigen Aufruf der LoadKeyboardLayout-Funktion geladen worden sein. Dieser Parameter muss entweder das Handle für ein Tastaturlayout oder einer der folgenden Werte sein.

Wert Bedeutung
HKL_NEXT
1
Wählt den nächsten Gebietsschemabezeichner in der zirkulären Liste der geladenen Gebietsschemabezeichner aus, die vom System verwaltet werden.
HKL_PREV
0
Wählt den vorherigen Gebietsschemabezeichner in der kreisförmigen Liste der geladenen Gebietsschemabezeichner aus, die vom System verwaltet werden.

[in] Flags

Typ: UINT

Gibt an, wie der Eingabegebietsbezeichner aktiviert werden soll. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
KLF_REORDER
0x00000008
Wenn dieses Bit festgelegt ist, wird die zirkuläre Liste der geladenen Gebietsschemabezeichner des Systems neu sortiert, indem der Gebietsschemabezeichner an den Kopf der Liste verschoben wird. Wenn dieses Bit nicht festgelegt ist, wird die Liste ohne Änderung der Reihenfolge gedreht.

Wenn ein Benutzer beispielsweise einen englischen Gebietsschemabezeichner aktiv und französische, deutsche und spanische Gebietsschemabezeichner geladen hat (in dieser Reihenfolge), würde die Aktivierung des deutschen Gebietsschemabezeichners mit dem KLF_REORDER Bitsatz die folgende Reihenfolge erzeugen: Deutsch, Englisch, Französisch, Spanisch. Das Aktivieren des deutschen Gebietsschemabezeichners ohne den KLF_REORDER Bitsatzes würde die folgende Reihenfolge erzeugen: Deutsch, Spanisch, Englisch, Französisch.

Wenn weniger als drei Gebietsschemabezeichner geladen werden, ist der Wert dieses Flags irrelevant.

KLF_RESET
0x40000000
Wenn festgelegt, aber KLF_SHIFTLOCK nicht festgelegt ist, wird der Zustand der Feststelltaste deaktiviert, indem sie erneut die Feststelltaste-Taste drücken. Wenn auch festgelegt und KLF_SHIFTLOCK festgelegt ist, wird der Zustand der Feststelltaste durch Drücken der UMSCHALTTASTE deaktiviert.

Diese beiden Methoden schließen sich gegenseitig aus, und die Einstellung bleibt als Teil des Profils des Benutzers in der Registrierung erhalten.

KLF_SETFORPROCESS
0x00000100
Aktiviert den angegebenen Gebietsschemabezeichner für den gesamten Prozess und sendet die WM_INPUTLANGCHANGE Nachricht an den Fokus oder das aktive Fenster des aktuellen Threads.
KLF_SHIFTLOCK
0x00010000
Dies wird mit KLF_RESET verwendet. Eine Erklärung finden Sie unter KLF_RESET .
KLF_UNLOADPREVIOUS
Dieses Flag wird nicht unterstützt. Verwenden Sie stattdessen die Funktion UnloadKeyboardLayout .

Rückgabewert

Typ: HKL

Der Rückgabewert ist vom Typ HKL. Wenn die Funktion erfolgreich ist, ist der Rückgabewert der vorherige Eingabegebietsschemabezeichner. Andernfalls ist es 0.

Verwenden Sie die GetLastError-Funktion , um erweiterte Fehlerinformationen abzurufen.

Hinweise

Diese Funktion wirkt sich nur auf das Layout für den aktuellen Prozess oder Thread aus.

Diese Funktion ist nicht auf Tastaturlayouts beschränkt. Der hkl-Parameter ist tatsächlich ein Eingabegebietsschemabezeichner. Dies ist ein umfassenderes Konzept als ein Tastaturlayout, da es auch einen Sprach-zu-Text-Konverter, einen Eingabemethoden-Editor (IME) oder eine andere Form der Eingabe umfassen kann. Es können mehrere Eingabegebietsbezeichner gleichzeitig geladen werden, aber nur eine ist gleichzeitig aktiv. Indem mehrere Eingabe-Gebietsschemabezeichner geladen werden, sind schnelle Wechsel zwischen den Bezeichnern möglich.

Wenn mehrere IMEs für jedes Gebietsschema zulässig sind, aktiviert das Übergeben eines Eingabegebietsschemabezeichners, in dem das hohe Wort (das Gerätehandle) null ist, die erste IME in der Liste, die zum Gebietsschema gehört.

Die KLF_RESET - und KLF_SHIFTLOCK-Flags ändern die Methode, mit der der Zustand "Caps Lock" deaktiviert wird. Standardmäßig wird der Zustand der Caps-Sperre deaktiviert, indem sie erneut die Feststelltaste-Taste drücken. Wenn nur KLF_RESET festgelegt ist, wird der Standardzustand wiederhergestellt. Wenn KLF_RESET und KLF_SHIFTLOCK festgelegt sind, wird der Zustand der Feststelltaste deaktiviert, indem sie eine der beiden Tastenkombinationen drücken. Dieses Feature wird verwendet, um den lokalen Tastaturverhaltensstandards sowie persönlichen Vorlieben zu entsprechen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Konzept

GetKeyboardLayoutName

Tastatureingabe

LoadKeyboardLayout

Referenz

UnloadKeyboardLayout