LoadKeyboardLayout

Die Funktion LoadKeyboardLayout lädt ein neue Tastaturlayout in das System. Mehrere Tastaturlayouts können gleichzeitig geladen werden, aber nur genau eins pro Prozess zu einem Zeitpunkt aktiv ist. Laden mehrere Tastaturlayouts macht es möglich, schnell zwischen den Layouts wechseln.

HKL LoadKeyboardLayout) LPCTSTR  PwszKLID, / / Name des Layout ladenUINTFlags / / Tastatur Layout Flaggen);
 

Parameter

pwszKLID
Zeiger auf den Puffer, der den Namen des Tastaturlayouts laden angibt. Dieser Name ist eine Zeichenfolge, bestehend aus den hexadezimalen Wert der Sprachbezeichner (niedrige Word) und ein Gerätebezeichner (hohe Word). Hat beispielsweise Englisch (USA) eine Sprachen-ID 0 x 0409, so dass das primäre Layout einer US English "00000409" benannt ist. Varianten des U.S. English Layout (z. B. das Dvorak Layout) sind "00010409", "00020409" usw. benannt.
Flaggen
Gibt an, wie das Tastaturlayout geladen werden. Dieser Parameter kann eine der folgenden Werte sein:.
Wert Bedeutung
KLF_ACTIVATE Wenn das angegebene Layout nicht bereits geladen ist, die Funktion lädt und aktiviert das Layout für den aktuellen thread.
KLF_NOTELLSHELL Verhindert, dass eine ShellProc -Hook-Prozedur empfängt einen HSHELL_LANGUAGE Haken Code wenn das neue Layout geladen wird. Dieser Wert wird normalerweise verwendet, wenn eine Anwendung mehrere Layouts einer nach dem anderen geladen. Anwendung dieser Wert für alle aber die letzten Layout verzögert der Shells verarbeiten, bis alle Layouts hinzugefügt wurden.
KLF_REORDER Verschiebt das angegebene Layout auf den Kopf der Liste Tastatur-Layouts machen dem Layout das aktive Layout für den aktuellen Thread. Dieser Wert ordnet die Tastatur-Layouts-Liste, auch wenn KLF_ACTIVATE nicht angegeben ist.
KLF_REPLACELANG Windows NT 4.0, Windows 95 und höher:Wenn das neue Layout den gleichen Sprachbezeichner als aktuellen Layout hat, ersetzt das neue Layout der aktuellen Folie als das Layout für diese Sprache. Wenn dieser Wert nicht angegeben ist und die Layouts die gleichen Sprachen-IDs haben, das aktuelle Layout wird nicht ersetzt, und die Funktion gibt NULL zurück.
KLF_SUBSTITUTE_OK Ersetzt das angegebene Tastaturlayout mit ein anderes Layout bevorzugt durch den Benutzer. Das System startet mit dieses Flag festgelegt, und es wird empfohlen, dass Ihre Anwendung immer dieses Flag verwenden. Die Ersetzung erfolgt nur, wenn der Registrierungsschlüssel HKEY_CURRENT_USER\Keyboard Layout\Substitutes explizit eine Ersatz-Layout definiert. Beispielsweise enthält der Schlüssel den Wertname "00000409" mit Wert "00010409", führt die US-englische laden Layout ("00000409") den Dvorak USA Englisch Tastaturlayout ("00010409") stattdessen geladen werden. Das System verwendet KLF_SUBSTITUTE_OK beim Booten, und es wird empfohlen, alle Anwendungen verwenden diesen Wert beim Laden von Layouts um sicherzustellen, dass die Benutzereinstellung aktiviert ist.
KLF_SETFORPROCESS Windows NT 5.0 und höher:: dieses Flag ist nur mit KLF_ACTIVATE gültig. Aktiviert das angegebene Tastaturlayout für den gesamten Prozess und sendet die WM_INPUTLANGCHANGE-Nachricht an alle Threads im aktuellen Prozess. In der Regel aktiviert LoadKeyboardLayout ein Layout nur für den aktuellen thread.
KLF_UNLOADPREVIOUS In Windows NT 5.0, Windows 95 und Windows 98 nicht unterstützt:Dieses Flag ist nur gültig mit KLF_ACTIVATE. Entlädt das vorherige Layout nur wenn laden und aktivieren das angegebene Layout erfolgreich ist. Es wird empfohlen, die Anwendung stattdessen die UnloadKeyboardLayout -Funktion verwenden.

Rückgabewerte

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Tastatur-Layout-Handle für das Layout mit dem angeforderten Namen abgestimmt. Wenn keine übereinstimmenden Tastaturlayout verfügbar ist, ist der Rückgabewert NULL. Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError.

Bemerkungen

Eine Anwendung kann und wird in der Regel laden Sie das Standardlayout oder IME für eine Sprache und kann hierzu nur eine Zeichenfolgenversion der Sprachen-ID angeben. Wenn eine Anwendung ein bestimmtes Layout oder IME laden möchte, sollten sie die Registrierung, um den spezifischen Layout-Bezeichner übergeben an LoadKeyboardLayoutbestimmen lesen. In diesem Fall wird eine Anforderung zum Aktivieren Sie des Tastatur-Layout Standardhandle für ein Gebietsschema das erste übereinstimmende man aktivieren. Ein bestimmter IME sollte eine explizite Tastatur Layout zurückgegebenes Handle GetKeyboardLayout, GetKeyboardLayoutListoder LoadKeyboardLayout aktiviert werden.

Windows 95 und Windows 98: Wenn eine Layout geladen werden mit der gleichen Sprache wie ein zuvor geladenen Layout und die KLF_REPLACELANG Flag nicht festgelegt ist, der Aufruf fehlschlägt. Nur einem geladenen Layout einer bestimmten Sprache zugeordnet werden kann. (Es ist akzeptabel für mehrere IMEs mit Vereinigungen, die gleiche Sprache geladen werden.)

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Nicht unterstützt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.
Unicode:Als Unicode und ANSI-Versionen unter Windows NT implementiert.

Siehe auch

Übersicht über die Tastatur-Eingabe Tastatur-Eingabe-Funktionen, ActivateKeyboardLayout, GetKeyboardLayoutName, MAKELANGID,UnloadKeyboardLayout

Index