Partager via


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 des 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 ne possède pas 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 des 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 en anglais des États-Unis 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 clavier et éditeurs de méthode d’entrée pour Windows.

[in] Flags

Type : uiNT

Spécifie la façon dont l’identificateur des paramètres régionaux d’entrée doit être chargé. Ce paramètre peut être 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 des 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 des paramètres régionaux d’entrée pour le système.

KLF_NOTELLSHELL
0x00000080
Avant Windows 8 : empêche le chargement d’une procédure de raccordement ShellProc de recevoir un code de raccordement 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 de paramètres régionaux d’entrée l’un après l’autre. L’application de cette valeur à tous les paramètres régionaux d’entrée, mais le dernier identificateur de paramètres régionaux d’entrée retarde le traitement du shell jusqu’à ce que tous les identificateurs de paramètres régionaux d’entrée aient été ajoutés.

à partir de Windows 8 : Dans ce scénario, le dernier identificateur des 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 la tête de la liste d’identificateurs de paramètres régionaux d’entrée, ce qui rend cet identificateur de paramètres régionaux actif pour le thread actif. Cette valeur réorganise la liste d’identificateurs des paramètres régionaux d’entrée, même si KLF_ACTIVATE n’est pas fourni.

À compter de Windows 8 : déplace l’identificateur de paramètres régionaux d’entrée spécifié vers le début de la liste d’identificateurs de paramètres régionaux d’entrée, ce qui rend cet identificateur de paramètres régionaux actif pour le système. Cette valeur réorganise la liste d’identificateurs des 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 celui actuel comme 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 Registre HKEY_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 States-Dvorak 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 vous 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.

à compter 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 la fonction UnloadKeyboardLayout à la place.

Valeur de retour

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’erreur étendues, appelez GetLastError.

Remarques

L’identificateur des 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 éditeur 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 d’un paramètre régional active la première correspondance. 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.

à compter de Windows 8 : Cette fonction affecte la disposition de l’ensemble du système.

Note

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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include Windows.h)
bibliothèque User32.lib
DLL User32.dll

Voir aussi

activateKeyboardLayout

conceptuelle

GetKeyboardLayoutName

d’entrée clavier

MAKELANGID

autres ressources

de référence

unloadKeyboardLayout