Función SetProcessPreferredUILanguages (winnls.h)

Establece los idiomas de interfaz de usuario preferidos del proceso para el proceso de aplicación. Para obtener más información, consulte User Interface Language Management.

Sintaxis

BOOL SetProcessPreferredUILanguages(
  [in]            DWORD    dwFlags,
  [in, optional]  PCZZWSTR pwszLanguagesBuffer,
  [out, optional] PULONG   pulNumLanguages
);

Parámetros

[in] dwFlags

Marcas que identifican el formato de idioma que se va a usar para los idiomas de interfaz de usuario preferidos del proceso. Las marcas son mutuamente excluyentes y el valor predeterminado es MUI_LANGUAGE_NAME.

Se recomienda usar MUI_LANGUAGE_NAME en lugar de MUI_LANGUAGE_ID.

Valor Significado
MUI_LANGUAGE_ID
Las cadenas de idioma del parámetro de entrada están en formato de identificador de idioma .
MUI_LANGUAGE_NAME
Las cadenas de idioma del parámetro de entrada están en formato de nombre de idioma .

[in, optional] pwszLanguagesBuffer

Puntero a un doble búfer de varias cadenas terminada en null que contiene una lista ordenada y delimitada por null en orden de preferencia descendente. Si hay más de cinco idiomas en el búfer, la función solo establece los cinco primeros idiomas válidos.

Como alternativa, este parámetro puede contener NULL si no se requiere ninguna lista de idioma. En este caso, la función borra los lenguajes de interfaz de usuario preferidos para el proceso.

[out, optional] pulNumLanguages

Puntero al número de idiomas que se han establecido en la lista de idiomas de proceso del búfer de entrada, hasta un máximo de cinco.

Valor devuelto

Devuelve TRUE si es correcto o FALSE de lo contrario. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver el siguiente código de error:

  • ERROR_INVALID_PARAMETER. Se especifica un parámetro no válido.
Si la lista de idiomas preferidos de la interfaz de usuario del proceso está vacía o si los idiomas especificados para el proceso no son válidos, la función se realiza correctamente y establece 0 en el parámetro pulNumLanguages .

Comentarios

Idealmente, las aplicaciones llamarán a SetProcessPreferredUILanguages lo antes posible después del inicio.

Una vez que se devuelve esta función, la aplicación puede llamar a GetProcessPreferredUILanguages para comprobar y examinar la lista de idioma resultante.

Cuando se especifica MUI_LANGUAGE_ID, las cadenas de idioma del parámetro de entrada deben usar el lenguaje hexadecimal.

identificadores que no incluyen el 0x inicial y tienen 4 caracteres de longitud. Por ejemplo, en-US debe ser

pasó como "0409" y en como "0009".

Nota Se recomienda usar MUI_LANGUAGE_NAME a través de MUI_LANGUAGE_ID.
 

Firma de C#

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean SetProcessPreferredUILanguages(
            System.UInt32 dwFlags,
            System.String pwszLanguagesBuffer,
            ref System.UInt32 pulNumLanguages
            );

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winnls.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

GetProcessPreferredUILanguages

Interfaz de usuario multilingüe

Funciones de interfaz de usuario multilingüe