Función SetThreadUILanguage (winnls.h)
Establece el idioma de la interfaz de usuario para el subproceso actual.
Windows Vista y versiones posteriores: Esta función no puede borrar la lista de idiomas de interfaz de usuario preferidos del subproceso. La aplicación MUI debe llamar a SetThreadPreferredUILanguages para borrar la lista de idiomas.
Windows XP: Esta función se limita a permitir que el sistema operativo identifique y establezca un valor que sea seguro de usar en la consola de Windows.
Sintaxis
LANGID SetThreadUILanguage(
[in] LANGID LangId
);
Parámetros
[in] LangId
Identificador de idioma del idioma de la interfaz de usuario para el subproceso.
Windows Vista y versiones posteriores: La aplicación puede especificar un identificador de idioma de 0 o un identificador distinto de cero. Para obtener más información, vea la sección Comentarios.
Windows XP: La aplicación solo puede establecer este parámetro en 0. Esta configuración hace que la función seleccione el idioma que mejor admita la pantalla de la consola. Para obtener más información, vea la sección Comentarios.
Valor devuelto
Devuelve el identificador de idioma de entrada si se ejecuta correctamente. Si el identificador de entrada es distinto de cero, la función devuelve ese valor. Si el identificador de idioma es 0, la función siempre se realiza correctamente y devuelve el identificador del idioma que mejor admite la consola de Windows. Consulte la sección Comentarios.
Si el identificador de idioma de entrada es distinto de cero y se produce un error en la función, el valor devuelto difiere del identificador de idioma de entrada. Para obtener información de error extendida, la aplicación puede llamar a GetLastError.
Comentarios
Cuando se crea un subproceso, la configuración del idioma de la interfaz de usuario del subproceso está vacía y la interfaz de usuario del subproceso se muestra en el idioma seleccionado por el usuario. Esta función permite a la aplicación cambiar el idioma de la interfaz de usuario para el subproceso en ejecución actual.
Windows Vista y versiones posteriores: Llamar a esta función y especificar 0 para el identificador de idioma es idéntico a llamar a SetThreadPreferredUILanguages con la marca MUI_CONSOLE_FILTER establecida. Si la aplicación especifica un identificador de idioma distinto de cero válido, la función establece un idioma de interfaz de usuario determinado para el subproceso. Después de especificar 0 para el identificador de idioma, la aplicación no puede usar ninguna de las siguientes constantes para corresponder a un identificador de idioma:
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
Firma de C#
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.UInt16 SetThreadUILanguage(
System.UInt16 LangId
);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winnls.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |
Vea también
Interfaz de usuario multilingüe