パラメータ
hkl
アクティブ化する入力ロケール識別子を指定する。
Windows 95/98:このパラメータは、LoadKeyboardLayout 関数か
GetKeyboardLayoutList 関数で取得するか、または次表のいずれか
の値を指定することができる。
Windows NT:入力ロケール識別子は、LoadKeyboardLayout
関数であらかじめロードされていなければならない。このパラメータには、キ
ーボードレイアウトのハンドル、または次の値のいずれかを指定する。
値
|
意味
|
HKL_NEXT |
システムにより管理されている、ロードされたロケール識別子の巡回リスト内で、次のロケール識別子を選択する。 |
HKL_PREV |
システムにより管理されている、ロードされたロケール識別子の巡回リスト内で、前のロケール識別子を選択する。 |
Flags
入力ロケール識別子をどのようにアクティブ化するかを指定する。このパラメータには次の値のいずれかを指定することができる。
値
|
意味
|
KLF_REORDER
|
このビットがセットされている場合、与えられたロケール識別子をリストの先頭に移動して、システムが持つロードされたロケール識別子の巡回リストを並べ替える。このビットがセットされていない場合、リストは順序が変更されることなく循環する。
たとえば、フランス語、ドイツ語、スペイン語のロケール識別子をこの順でロードした状態で、さらに英語のロケール識別子をアクティブ化している場合、KLF_REORDER
ビットをセットしてドイツ語のロケール識別子をアクティブ化すると、順序はドイツ語、英語、フランス語、スペイン語の順になる。ドイツ語ロケール識別子を
KLF_REORDER ビットをセットせずにアクティブ化すると、順序はドイツ語、スペイン語、英語、フランス語の順になる。
ロードされているロケール識別子の数が3未満の場合、このフラグは適切な値を取らない。 |
KLF_SETFORPROCESS
|
Windows
2000:プロセス全体に対して指定されたロケール識別子をアクティブ化し、現在のスレッドのフォーカスまたはアクティブウィンドウに
WM_INPUTLANGCHANGE メッセージを送信する。 |
KLF_UNLOADPREVIOUS |
このフラグはサポートされていない。代わりに
UnloadKeyboardLayout 関数を使う。 |
戻り値
Windows NT 3.51 以前:戻り値は BOOL 型である。関数が成功すると、0
以外の値が返る。関数が失敗すると、0 が返る。
Windows 95/98 および Windows NT 4.0 以降:戻り値は HKL
型です。関数が成功すると、以前の入力ロケール識別子( 旧名キーボー
ドレイアウトハンドル)が返る。関数が失敗すると、0
が返る。
拡張エラー情報を取得するには、GetLastError 関数を使う。
解説
この関数はキーボードレイアウトの制限を受けない。hkl
パラメータは実際には入力ロケール識別子である。入力ロケール識別子には音声
入力コンバータ、IME、またはその他のあらゆる入力形式が含まれており、キーボードレイアウトよりも広い概念を持つ。入力ロケール識別
子は、一度に複数ロードすることができるが、アクティブ化できるのは 1 つだけである。複数の入力ロケール識別子をロードすると、切り替
えを迅速に行うことができる。
Windows 95/98:アプリケーションは、上位ワードを 0
に、下位ワードをロケール識別子にセットして、有効な入力ロケール識別子を作成す
ることができる。入力ロケール識別子を使うと、物理レイアウトに影響を与えずに入力言語を変更することができる。
ロケールごとに複数の入力メソッドエディタ(IME)が使えるときは、上位ワード( デバイスハンドル)が 0
である入力ロケール識別子を渡すと、そ
のロケールに属する IME のリストの最初にある
IME がアクティブ化される。 |