SetThreadPreferredUILanguages, fonction (winnls.h)
Définit les langues d’interface utilisateur préférées du thread actuel. Pour plus d’informations, consultez Gestion des langues de l’interface utilisateur.
Syntaxe
BOOL SetThreadPreferredUILanguages(
[in] DWORD dwFlags,
[in, optional] PCZZWSTR pwszLanguagesBuffer,
[out, optional] PULONG pulNumLanguages
);
Paramètres
[in] dwFlags
Indicateurs identifiant le format et le filtrage des langues à définir.
Les indicateurs de format suivants spécifient le format de langue à utiliser pour les langues d’interface utilisateur préférées du thread. Les indicateurs s’excluent mutuellement et la valeur par défaut est MUI_LANGUAGE_NAME.
Nous vous recommandons d’utiliser MUI_LANGUAGE_NAME au lieu de MUI_LANGUAGE_ID.
Valeur | Signification |
---|---|
|
Les chaînes de langue du paramètre d’entrée sont au format d’identificateur de langue . |
|
Les chaînes de langue du paramètre d’entrée sont au format de nom de langue . |
Les indicateurs de filtrage suivants spécifient le filtrage pour la liste des langues. Les indicateurs s’excluent mutuellement. Par défaut, ni MUI_COMPLEX_SCRIPT_FILTER ni MUI_CONSOLE_FILTER n’est défini. Pour plus d’informations sur les indicateurs de filtrage, consultez la section Remarques.
Valeur | Signification |
---|---|
|
GetThreadPreferredUILanguages doit remplacer par le secours approprié tous les langages ayant des scripts complexes. Lorsque cet indicateur est spécifié, null doit être passé pour tous les autres paramètres. |
|
GetThreadPreferredUILanguages doit remplacer par le secours approprié toutes les langues qui ne peuvent pas s’afficher correctement dans une fenêtre de console avec les paramètres actuels du système d’exploitation. Lorsque cet indicateur est spécifié, null doit être passé pour tous les autres paramètres. |
|
Réinitialisez le filtrage pour la liste des langues en supprimant tous les autres paramètres de filtre. Lorsque cet indicateur est spécifié, null doit être passé pour tous les autres paramètres. Après avoir défini cet indicateur, l’application peut appeler GetThreadPreferredUILanguages pour récupérer la liste complète non filtrée. |
[in, optional] pwszLanguagesBuffer
Pointeur vers une mémoire tampon multi-chaîne à double terminaison null qui contient une liste ordonnée, délimitée par null, au format spécifié par dwFlags.
Pour effacer la liste des langages d’interface utilisateur préférés du thread, une application définit ce paramètre sur une chaîne null ou une chaîne vide à double fin null. Si une application efface une liste de langues, elle doit spécifier un indicateur de format ou 0 pour le paramètre dwFlags .
Lorsque l’application spécifie l’un des indicateurs de filtrage, elle doit définir ce paramètre sur NULL. Dans ce cas, la fonction réussit, mais ne réinitialise pas les langages préférés du thread.
[out, optional] pulNumLanguages
Pointeur vers le nombre de langues définies par la fonction dans la liste des langues d’interface utilisateur préférées du thread. Lorsque l’application spécifie l’un des indicateurs de filtrage, la fonction doit définir ce paramètre sur NULL.
Valeur retournée
Retourne TRUE si la fonction réussit ou FALSE dans le cas contraire.
Remarques
Lorsque l’application charge des ressources après un appel à cette fonction, les préférences spécifiques au thread sont prioritaires sur les langues préférées par l’utilisateur.
Cette fonction peut configurer jusqu’à cinq langues préférées pour le thread, dans l’ordre de préférence. Si la mémoire tampon de langue contient plus de cinq langues valides, la fonction définit les cinq premières langues valides et ignore le reste.
Si l’application appelle cette fonction avec l’indicateur MUI_LANGUAGE_ID défini, les chaînes de la liste de langues doivent utiliser la langue hexadécimale
identificateurs qui n’incluent pas le 0x de début et sont de 4 caractères. Par exemple, en-US doit être
passé comme « 0409 » et en comme « 0009 ».
Lorsque MUI_LANGUAGE_ID est spécifié, les valeurs hexadécimales de la liste des langues doivent chacune représenter un identificateur de langue réel. En particulier, les valeurs d’identificateur de paramètres régionaux suivantes ne peuvent pas être utilisées pour correspondre à l’identificateur de langue :
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
Une fois cette fonction retournée, l’application peut appeler GetThreadPreferredUILanguages pour vérifier et examiner la liste de langues résultante. Lorsque MUI_CONSOLE_FILTER ou MUI_COMPLEX_FILTER a été défini par SetThreadPreferredUILanguages, la fonction GetThreadPreferredUILanguages remplace par la langue de secours que la console ne peut pas afficher à l’aide du paramètre de langue du système d’exploitation actuel. Le secours d’une langue est déterminé en fonction de la valeur de LOCALE_SCONSOLEFALLBACKNAME pour la langue.
Si vous définissez l’indicateur MUI_COMPLEX_SCRIPT_FILTER dans l’appel à SetThreadPreferredUILanguages , GetThreadPreferredUILanguages supprime les langues que la console ne peut pas afficher avec des langues qui ne peuvent être rendues qu’à l’aide de Uniscribe, et insère la langue de secours comme secours ultime. L’arabe ou les différentes langues indiques sont des exemples de ces langues.
Si vous définissez l’indicateur MUI_CONSOLE_FILTER dans l’appel à SetThreadPreferredUILanguages , GetThreadPreferredUILanguages supprime les langues que la console ne peut pas afficher avec le paramètre système actuel et insère la langue de secours comme secours ultime, car la console est limitée à l’affichage des caractères d’une page de codes unique. Par exemple, si la langue de l’utilisateur est le japonais (Japon), mais que la page de codes de la console actuelle est la page de codes pour le russe (Russie), la console affiche le texte en japonais principalement sous la forme d’une série de symboles de caractères introuvables. GetThreadPreferredUILanguages choisit une langue dans la liste de secours qui sera lisible dans la console.
C# Signature
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean SetThreadPreferredUILanguages(
System.UInt32 dwFlags,
System.String pwszLanguagesBuffer,
ref System.UInt32 pulNumLanguages
);
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winnls.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
Interface utilisateur multilingue