LoadKeyboardLayoutA, fonction (winuser.h)

Charge un nouvel identificateur de paramètres régionaux d’entrée (anciennement appelé disposition du clavier) dans le système.

Avant Windows 8 : plusieurs identificateurs de paramètres régionaux d’entrée peuvent être chargés à la fois, mais un seul par processus est actif à la fois. Le chargement de plusieurs identificateurs de paramètres régionaux d’entrée permet de basculer rapidement entre eux.

À compter de Windows 8 : l’identificateur de paramètres régionaux d’entrée est chargé pour l’ensemble du système. Cette fonction n’a aucun effet si le processus actuel n’est pas propriétaire de la fenêtre avec le focus clavier.

Syntaxe

HKL LoadKeyboardLayoutA(
  [in] LPCSTR pwszKLID,
  [in] UINT   Flags
);

Paramètres

[in] pwszKLID

Type : LPCTSTR

Nom de l’identificateur de paramètres régionaux d’entrée à charger. Ce nom est une chaîne composée de la valeur hexadécimale de l’identificateur de langue (mot faible) et d’un identificateur d’appareil (mot élevé). Par exemple, l’anglais américain a un identificateur de langue de 0x0409, de sorte que la disposition principale de l’anglais américain est nommée « 00000409 ». Les variantes de la disposition anglaise américaine (par exemple, la disposition Dvorak) sont nommées « 00010409 », « 00020409 », etc.

Pour obtenir la liste des dispositions d’entrée fournies avec Windows, consultez Identificateurs de clavier et Éditeurs de méthode d’entrée pour Windows.

[in] Flags

Type : UINT

Spécifie comment l’identificateur de paramètres régionaux d’entrée doit être chargé. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.

Valeur Signification
KLF_ACTIVATE
0x00000001
Avant Windows 8 : si l’identificateur de paramètres régionaux d’entrée spécifié n’est pas déjà chargé, la fonction charge et active l’identificateur de paramètres régionaux d’entrée pour le thread actuel.

À compter de Windows 8 : si l’identificateur de paramètres régionaux d’entrée spécifié n’est pas déjà chargé, la fonction charge et active l’identificateur de paramètres régionaux d’entrée pour le système.

KLF_NOTELLSHELL
0x00000080
Avant Windows 8 : empêche une procédure de hook ShellProc de recevoir un code de hook HSHELL_LANGUAGE lorsque le nouvel identificateur de paramètres régionaux d’entrée est chargé. Cette valeur est généralement utilisée lorsqu’une application charge plusieurs identificateurs régionaux d’entrée l’un après l’autre. L’application de cette valeur à tous les identificateurs régionaux d’entrée sauf au dernier retarde le traitement de l’interpréteur de commandes jusqu’à ce que tous les identificateurs de paramètres régionaux d’entrée aient été ajoutés.

À compter de Windows 8 : dans ce scénario, le dernier identificateur de paramètres régionaux d’entrée est défini pour l’ensemble du système.

KLF_REORDER
0x00000008
Avant Windows 8 : déplace l’identificateur de paramètres régionaux d’entrée spécifié vers le début de la liste des identificateurs de paramètres régionaux d’entrée, ce qui fait de cet identificateur de paramètres régionaux l’identificateur de paramètres régionaux actifs pour le thread actuel. Cette valeur réorganise la liste des identificateurs de paramètres régionaux d’entrée même si KLF_ACTIVATE n’est pas fourni.

À partir de Windows 8 : déplace l’identificateur de paramètres régionaux d’entrée spécifié vers le début de la liste des identificateurs de paramètres régionaux d’entrée, ce qui fait de cet identificateur de paramètres régionaux l’identificateur de paramètres régionaux actifs pour le système. Cette valeur réorganise la liste des identificateurs de paramètres régionaux d’entrée même si KLF_ACTIVATE n’est pas fourni.

KLF_REPLACELANG
0x00000010
Si le nouvel identificateur de paramètres régionaux d’entrée a le même identificateur de langue qu’un identificateur de paramètres régionaux d’entrée actuel, le nouvel identificateur de paramètres régionaux d’entrée remplace l’identificateur de paramètres régionaux d’entrée pour cette langue. Si cette valeur n’est pas fournie et que les identificateurs de paramètres régionaux d’entrée ont les mêmes identificateurs de langue, l’identificateur de paramètres régionaux d’entrée actuel n’est pas remplacé et la fonction retourne NULL.
KLF_SUBSTITUTE_OK
0x00000002
Remplace l’identificateur de paramètres régionaux d’entrée spécifié par un autre paramètre régional préféré par l’utilisateur. Le système commence par ce jeu d’indicateurs, et il est recommandé que votre application utilise toujours cet indicateur. La substitution se produit uniquement si la clé de RegistreHKEY_CURRENT_USER\Keyboard Layout\Substitutes définit explicitement des paramètres régionaux de substitution. Par exemple, si la clé inclut le nom de valeur « 00000409 » avec la valeur « 00010409 », le chargement de la disposition américaine (« 00000409 ») entraîne le chargement de la disposition united States-Dvorak (« 00010409 ») à la place. Le système utilise KLF_SUBSTITUTE_OK lors du démarrage, et il est recommandé que toutes les applications utilisent cette valeur lors du chargement des identificateurs de paramètres régionaux d’entrée pour s’assurer que la préférence de l’utilisateur est sélectionnée.
KLF_SETFORPROCESS
0x00000100
Avant Windows 8 : cet indicateur est valide uniquement avec KLF_ACTIVATE. Active l’identificateur de paramètres régionaux d’entrée spécifié pour l’ensemble du processus et envoie le message WM_INPUTLANGCHANGE à la fenêtre Focus ou Active du thread actuel. En règle générale, LoadKeyboardLayout active un identificateur de paramètres régionaux d’entrée uniquement pour le thread actuel.

À partir de Windows 8 : cet indicateur n’est pas utilisé. LoadKeyboardLayout active toujours un identificateur de paramètres régionaux d’entrée pour l’ensemble du système si le processus actuel possède la fenêtre avec le focus clavier.

KLF_UNLOADPREVIOUS
Cet indicateur n’est pas pris en charge. Utilisez plutôt la fonction UnloadKeyboardLayout .

Valeur retournée

Type : HKL

Si la fonction réussit, la valeur de retour est l’identificateur de paramètres régionaux d’entrée correspondant au nom spécifié dans pwszKLID. Si aucun paramètre régional correspondant n’est disponible, la valeur de retour est la langue par défaut du système.

Si la fonction échoue, la valeur de retour est NULL. Cela peut se produire si la bibliothèque de disposition est chargée à partir du répertoire de l’application.

Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

L’identificateur de paramètres régionaux d’entrée est un concept plus large qu’une disposition de clavier, car il peut également englober un convertisseur de reconnaissance vocale, un Rédacteur de méthode d’entrée (IME) ou toute autre forme d’entrée.

Une application peut et charge généralement l’identificateur de paramètres régionaux d’entrée par défaut ou l’IME pour une langue, et peut le faire en spécifiant uniquement une version de chaîne de l’identificateur de langue. Si une application souhaite charger des paramètres régionaux ou IME spécifiques, elle doit lire le Registre pour déterminer l’identificateur de paramètres régionaux d’entrée spécifique à passer à LoadKeyboardLayout. Dans ce cas, une demande d’activation de l’identificateur de paramètres régionaux d’entrée par défaut pour un paramètre régional active le premier correspondant. Un IME spécifique doit être activé à l’aide d’un identificateur de paramètres régionaux d’entrée explicite retourné par GetKeyboardLayout ou LoadKeyboardLayout.

Avant Windows 8 : cette fonction affecte uniquement la disposition du processus ou du thread actuel.

À partir de Windows 8 : cette fonction affecte la disposition de l’ensemble du système.

Notes

L’en-tête winuser.h définit LoadKeyboardLayout comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

ActivateKeyboardLayout

Conceptuel

GetKeyboardLayoutName

Entrées du clavier

MAKELANGID

Autres ressources

Référence

UnloadKeyboardLayout