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 状態がオフになります。 set と KLF_SHIFTLOCK も設定されている場合、Shift キーを押すと Caps Lock 状態がオフになります。

これら 2 つのメソッドは相互に排他的であり、設定はレジストリ内のユーザーのプロファイルの一部として保持されます。

KLF_SETFORPROCESS
0x00000100
プロセス全体に対して指定されたロケール識別子をアクティブ化し、現在のスレッドのフォーカスまたはアクティブ ウィンドウに WM_INPUTLANGCHANGE メッセージを送信します。
KLF_SHIFTLOCK
0x00010000
これは、 KLF_RESETで使用されます。 説明については 、「KLF_RESET 」を参照してください。
KLF_UNLOADPREVIOUS
このフラグはサポートされていません。 代わりに UnloadKeyboardLayout 関数を使用してください。

戻り値

種類: HKL

戻り値は HKL 型です。 関数が成功した場合、戻り値は以前の入力ロケール識別子です。 それ以外の場合は 0 です。

拡張エラー情報を取得するには、 GetLastError 関数を使用します。

解説

この関数は、現在のプロセスまたはスレッドのレイアウトにのみ影響します。

この関数は、キーボード レイアウトに限定されません。 hkl パラメーターは、実際には入力ロケール識別子です。 これは、音声テキスト変換、入力メソッド エディター (IME)、またはその他の形式の入力も含めることができるため、キーボード レイアウトよりも広範な概念です。 一度に複数の入力ロケール識別子を読み込むことができますが、一度にアクティブになっているのは 1 つだけです。 複数の入力ロケール識別子を読み込むと、それらの切り替えを迅速に行うことができます。

ロケールごとに複数の IME が許可されている場合、高い単語 (デバイス ハンドル) が 0 である入力ロケール識別子を渡すと、ロケールに属するリストの最初の IME がアクティブになります。

KLF_RESETフラグとKLF_SHIFTLOCK フラグは、Caps Lock 状態をオフにする方法を変更します。 既定では、Caps Lock キーをもう一度押すと、Caps Lock 状態がオフになります。 KLF_RESETのみが設定されている場合、既定の状態は再確立されます。 KLF_RESETKLF_SHIFTLOCKが設定されている場合、Caps Lock キーを押すと CapsLock 状態がオフになります。 この機能は、ローカル のキーボード動作標準と個人設定に準拠するために使用されます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

関連項目

概念

GetKeyboardLayoutName

キーボード入力

LoadKeyboardLayout

リファレンス

UnloadKeyboardLayout