Share via


ActivateKeyboardLayout 함수(winuser.h)

호출 스레드 또는 현재 프로세스에 대한 입력 로캘 식별자(이전의 키보드 레이아웃 핸들)를 설정합니다. 입력 로캘 식별자는 로캘은 물론 키보드의 물리적 레이아웃을 지정합니다.

구문

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

매개 변수

[in] hkl

형식: HKL

활성화할 입력 로캘 식별자입니다.

입력 로캘 식별자는 LoadKeyboardLayout 함수에 대한 이전 호출에 의해 로드되어야 합니다. 이 매개 변수는 키보드 레이아웃에 대한 핸들이거나 다음 값 중 하나여야 합니다.

의미
HKL_NEXT
1
시스템에서 유지 관리하는 로드된 로캘 식별자의 순환 목록에서 다음 로캘 식별자를 선택합니다.
HKL_PREV
0
시스템에서 유지 관리하는 로드된 로캘 식별자의 순환 목록에서 이전 로캘 식별자를 선택합니다.

[in] Flags

형식: UINT

입력 로캘 식별자를 활성화하는 방법을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
KLF_REORDER
0x00000008
이 비트를 설정하면 로캘 식별자를 목록의 머리로 이동하여 로드된 로캘 식별자의 시스템 순환 목록이 다시 정렬됩니다. 이 비트를 설정하지 않으면 순서 변경 없이 목록이 회전됩니다.

예를 들어 사용자에게 영어 로캘 식별자가 활성 상태이고 프랑스어, 독일어 및 스페인어 로캘 식별자가 로드된 경우(해당 순서대로) KLF_REORDER 비트 집합을 사용하여 독일어 로캘 식별자를 활성화하면 독일어, 영어, 프랑스어, 스페인어 순서가 생성됩니다. KLF_REORDER 비트 집합 없이 독일어 로캘 식별자를 활성화하면 독일어, 스페인어, 영어, 프랑스어 순서가 생성됩니다.

3개 미만의 로캘 식별자가 로드되는 경우 이 플래그의 값은 관련이 없습니다.

KLF_RESET
0x40000000
설정되었지만 KLF_SHIFTLOCK 설정되지 않은 경우 Caps Lock 키를 다시 눌러 Caps Lock 상태가 해제됩니다. 설정되고 KLF_SHIFTLOCK 설정되면 Shift 키를 눌러 Caps Lock 상태가 해제됩니다.

이러한 두 메서드는 함께 사용할 수 없으며 설정은 레지스트리에서 사용자 프로필의 일부로 유지됩니다.

KLF_SETFORPROCESS
0x00000100
전체 프로세스에 대해 지정된 로캘 식별자를 활성화하고 현재 스레드의 포커스 또는 활성 창에 WM_INPUTLANGCHANGE 메시지를 보냅니다.
KLF_SHIFTLOCK
0x00010000
이는 KLF_RESET 함께 사용됩니다. 설명은 KLF_RESET 참조하세요.
KLF_UNLOADPREVIOUS
이 플래그는 지원되지 않습니다. 대신 UnloadKeyboardLayout 함수를 사용합니다.

반환 값

형식: HKL

반환 값은 HKL 형식입니다. 함수가 성공하면 반환 값은 이전 입력 로캘 식별자입니다. 그렇지 않으면 0입니다.

확장된 오류 정보를 얻으려면 GetLastError 함수를 사용합니다.

설명

이 함수는 현재 프로세스 또는 스레드의 레이아웃에만 영향을 줍니다.

이 함수는 키보드 레이아웃으로 제한되지 않습니다. hkl 매개 변수는 실제로 입력 로캘 식별자입니다. 음성 텍스트 변환기, IME(입력 방법 편집기) 또는 다른 형식의 입력도 포함할 수 있으므로 키보드 레이아웃보다 더 광범위한 개념입니다. 여러 입력 로캘 식별자는 한 번에 로드할 수 있지만 한 번에 하나만 활성화됩니다. 여러 입력 로캘 식별자를 로드하면 입력 로캘 식별자 사이를 빠르게 전환할 수 있습니다.

각 로캘에 대해 여러 IME가 허용되는 경우 상위 단어(디바이스 핸들)가 0인 입력 로캘 식별자를 전달하면 로캘에 속하는 목록의 첫 번째 IME가 활성화됩니다.

KLF_RESETKLF_SHIFTLOCK 플래그는 Caps Lock 상태가 꺼진 메서드를 변경합니다. 기본적으로 Caps Lock 키를 다시 눌러 Caps Lock 상태가 해제됩니다. KLF_RESET 설정하면 기본 상태가 다시 설정됩니다. KLF_RESETKLF_SHIFTLOCK 설정된 경우 Caps Lock 키를 눌러 Caps Lock 상태가 해제됩니다. 이 기능은 로컬 키보드 동작 표준과 개인 기본 설정을 준수하는 데 사용됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

개념

GetKeyboardLayoutName

키보드 입력

LoadKeyboardLayout

참조

UnloadKeyboardLayout