Compartilhar via


Função ActivateKeyboardLayout (winuser.h)

Define a identificação de localidade de entrada (chamada antes de identificação de layout do teclado) para o thread de chamada ou o processo atual. A identificação de localidade de entrada especifica uma localidade, bem como o layout físico do teclado.

Sintaxe

HKL ActivateKeyboardLayout(
  [in] HKL  hkl,
  [in] UINT Flags
);

Parâmetros

[in] hkl

Tipo: HKL

Identificador de localidade de entrada a ser ativado.

O identificador de localidade de entrada deve ter sido carregado por uma chamada anterior para a função LoadKeyboardLayout . Esse parâmetro deve ser o identificador para um layout de teclado ou um dos valores a seguir.

Valor Significado
HKL_NEXT
1
Seleciona o próximo identificador de localidade na lista circular de identificadores de localidade carregados mantidos pelo sistema.
HKL_PREV
0
Seleciona o identificador de localidade anterior na lista circular de identificadores de localidade carregados mantidos pelo sistema.

[in] Flags

Tipo: UINT

Especifica como o identificador de localidade de entrada deve ser ativado. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
KLF_REORDER
0x00000008
Se esse bit for definido, a lista circular do sistema de identificadores de localidade carregados será reordenada movendo o identificador de localidade para o cabeçalho da lista. Se esse bit não estiver definido, a lista será girada sem uma alteração de ordem.

Por exemplo, se um usuário tivesse um identificador de localidade em inglês ativo, além de ter identificadores de localidade em francês, alemão e espanhol carregados (nessa ordem), ativar o identificador de localidade alemã com o conjunto de bits KLF_REORDER produziria a seguinte ordem: alemão, inglês, francês, espanhol. Ativar o identificador de localidade alemão sem o conjunto de bits KLF_REORDER produziria a seguinte ordem: alemão, espanhol, inglês, francês.

Se menos de três identificadores de localidade forem carregados, o valor desse sinalizador será irrelevante.

KLF_RESET
0x40000000
Se definido , mas KLF_SHIFTLOCK não estiver definido, o estado caps lock será desativado pressionando a tecla Caps Lock novamente. Se definido e KLF_SHIFTLOCK também estiver definido, o estado caps lock será desativado pressionando qualquer tecla SHIFT.

Esses dois métodos são mutuamente exclusivos e a configuração persiste como parte do perfil do Usuário no Registro.

KLF_SETFORPROCESS
0x00000100
Ativa o identificador de localidade especificado para todo o processo e envia a mensagem WM_INPUTLANGCHANGE para o foco do thread atual ou a janela ativa.
KLF_SHIFTLOCK
0x00010000
Isso é usado com KLF_RESET. Confira KLF_RESET para obter uma explicação.
KLF_UNLOADPREVIOUS
Este sinalizador não tem suporte. Em vez disso, use a função UnloadKeyboardLayout .

Valor retornado

Tipo: HKL

O valor retornado é do tipo HKL. Se a função for bem-sucedida, o valor retornado será o identificador de localidade de entrada anterior. Caso contrário, será zero.

Para obter informações de erro estendidas, use a função GetLastError .

Comentários

Essa função afeta apenas o layout do processo ou thread atual.

Essa função não é restrita a layouts de teclado. O parâmetro hkl é, na verdade, um identificador de localidade de entrada. Esse é um conceito mais amplo do que um layout de teclado, pois também pode abranger um conversor de fala em texto, um IME (Editor de Método de Entrada) ou qualquer outra forma de entrada. Vários identificadores de localidade de entrada podem ser carregados a qualquer momento, mas apenas um está ativo por vez. Carregar várias identificações de localidade de entrada possibilita alternar rapidamente entre elas.

Quando vários IMEs são permitidos para cada localidade, passar um identificador de localidade de entrada no qual a palavra alta (o identificador do dispositivo) é zero ativa o primeiro IME na lista que pertence à localidade.

Os sinalizadores KLF_RESET e KLF_SHIFTLOCK alteram o método pelo qual o estado caps lock está desativado. Por padrão, o estado caps lock é desativado pressionando a tecla Caps Lock novamente. Se apenas KLF_RESET estiver definido, o estado padrão será restabelecido. Se KLF_RESET e KLF_SHIFTLOCK estiverem definidos, o estado caps lock será desativado pressionando a tecla Caps Lock. Esse recurso é usado para estar em conformidade com os padrões de comportamento do teclado local, bem como para preferências pessoais.

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 winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

Conceitual

GetKeyboardLayoutName

Entrada por teclado

LoadKeyboardLayout

Referência

UnloadKeyboardLayout