Compartilhar via


Função SetLocaleInfoW (winnls.h)

Define um item de informações na parte de substituição do usuário da localidade atual. Essa função não define os padrões do sistema.

Cuidado Como essa função modifica valores para todos os aplicativos, ela só deve ser chamada pela funcionalidade de opções regionais e de idioma do Painel de Controle ou por um utilitário semelhante. Se estiver fazendo uma alteração internacional nos parâmetros do sistema, o aplicativo de chamada deverá transmitir a mensagem WM_SETTINGCHANGE para evitar causar instabilidades em outros aplicativos.
 

Sintaxe

BOOL SetLocaleInfoW(
  [in] LCID    Locale,
  [in] LCTYPE  LCType,
  [in] LPCWSTR lpLCData
);

Parâmetros

[in] Locale

Para a versão ANSI da função, o identificador de localidade da localidade com a página de código usada ao interpretar as informações de lpLCData . Para a versão Unicode, esse parâmetro é ignorado.

Você pode usar a macro MAKELCID para criar um identificador de localidade ou usar um dos valores predefinidos a seguir.

Também há suporte para os seguintes identificadores de localidade personalizados.

[in] LCType

Tipo de informações de localidade a serem definidas. Para constantes válidas, confira a seção "Constantes usadas no parâmetro LCType de GetLocaleInfo, GetLocaleInfoEx e SetLocaleInfo" de Constantes de informações de localidade. O aplicativo pode especificar apenas um valor por chamada, mas pode usar o operador OR binário para combinar LOCALE_USE_CP_ACP com qualquer outra constante.

[in] lpLCData

Ponteiro para uma cadeia de caracteres terminada em nulo que contém as informações de localidade a serem definidas. As informações devem estar no formato específico para a constante especificada. O aplicativo usa uma cadeia de caracteres Unicode para a versão Unicode da função e uma cadeia de caracteres ANSI para a versão ANSI.

Valor retornado

Retornará um valor diferente de zero se tiver êxito ou 0 caso contrário. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_ACCESS_DISABLED_BY_POLICY. A política de grupo do computador ou do usuário proibiu essa operação.
  • ERROR_INVALID_ACCESS. O código de acesso era inválido.
  • ERROR_INVALID_FLAGS. Os valores fornecidos para sinalizadores não eram válidos.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Comentários

Essa função grava no registro, em que define valores associados a um usuário específico em vez de um aplicativo específico. Esses valores do Registro afetam o comportamento de outros aplicativos executados pelo usuário. Como regra, um aplicativo deve chamar essa função somente quando o usuário tiver solicitado explicitamente as alterações. As configurações do Registro não devem ser alteradas para a conveniência de um único aplicativo.

Para o parâmetro LCType , o aplicativo deve definir LOCALE_USE_CP_ACP para usar a página de código ANSI do sistema operacional em vez da página de código de localidade para tradução de cadeia de caracteres.

Quando a versão ANSI dessa função é usada com um identificador de localidade somente Unicode, a função pode ser bem-sucedida porque o sistema operacional usa a página de código do sistema. No entanto, os caracteres indefinidos na página de código do sistema aparecem na cadeia de caracteres como um ponto de interrogação (?).

A partir do Windows Vista, as constantes LOCALE_SDATE e LOCALE_STIME estão obsoletas. Não use essas constantes. Em vez disso, use LOCALE_SSHORTDATE e LOCALE_STIMEFORMAT . Uma localidade personalizada pode não ter um único caractere separador uniforme dentro do formato de data ou hora: por exemplo, um formato como "31/12, 2006" ou "03:56'23" pode ser válido.

Observação

O cabeçalho winnls.h define SetLocaleInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winnls.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Getlocaleinfo

Suporte a idiomas nacionais

Funções de suporte à linguagem nacional