Windows 95和Windows NT中的ActivateKeyboardLayout的实现有很大的不同。为了适应这些差异,本参考页首先显示Windows 95实现,其次是Windows NT版本。
Windows 95:
ActivateKeyboardLayout函数设置当前线程的输入语言。此函数接受键盘布局句柄,用于标识语言环境以及键盘的物理布局。
HKL ActivateKeyboardLayout(
HKL 【HKL】, | //处理键盘布局 |
UINT 【旗】 | //键盘布局标志 |
); |
参数
【HKL】
处理键盘布局或零扩展区域设置标识符。该参数可以是使用LoadKeyboardLayout或GetKeyboardLayoutList函数获得的任何有效的键盘布局句柄或以下值之一:
值 | 含义 |
HKL_NEXT | 在系统维护的键盘布局列表中选择下一个布局。 |
HKL_PREV | 选择系统维护的键盘布局列表中的上一个布局。 |
【旗】
指定键盘布局标志。该参数的值可以是:
值 | 含义 |
KLF_REORDER | 通过将给定的键盘布局句柄移动到列表的头部来重新排列键盘布局列表。如果没有给出这个值,那么列表将被旋转而没有改变顺序。例如,如果用户的英文版本有效,并且加载了法语,德语和西班牙语版式(按照该顺序),则使用KLF_REORDER位来激活德语版面将产生以下顺序:德语,英语和法语,西班牙语。激活德国布局而不设置KLF_REORDER值将产生以下顺序:德语,西班牙语,英语和法语。 |
返回值
如果函数成功,返回值就是以前的键盘布局句柄。否则为零。要获取扩展错误信息,请使用GetLastError功能。
备注
可以随时加载几个键盘布局,但一次只能启用一个。加载多个键盘布局可以在布局之间快速切换。
应用程序可以通过将高字设置为零并将低字设置为区域设置标识来创建有效的键盘布局句柄。使用这种键盘布局手柄可以改变输入语言,而不影响物理布局。
当每个区域设置允许使用多个输入法编辑器(IME)时,传入高字(设备句柄)为零的键盘布局句柄会激活列表“归属”到本地区的第一个IME。
也可以看看
LoadKeyboardLayout, GetKeyboardLayoutName, UnloadKeyboardLayout
Windows NT:
ActivateKeyboardLayout功能激活不同的键盘布局,并为整个系统而不是调用线程设置活动键盘布局。
BOOL ActivateKeyboardLayout(
HKL 【HKL】, | //处理键盘布局 |
UINT 【旗】 | //键盘布局标志 |
); |
参数
【HKL】
标识要激活的键盘布局。布局必须由先前调用LoadKeyboardLayout功能加载。此参数必须是键盘布局的句柄或以下值之一:
值 | 含义 |
HKL_NEXT | 在系统维护的加载布局的循环列表中选择下一个布局。 |
HKL_PREV | 在系统维护的加载布局的循环列表中选择先前的布局。 |
【旗】
指定如何激活键盘布局。此参数可以是以下值之一:
值 | 含义 |
KLF_REORDER | 如果该位被置位,则系统的加载的键盘布局的循环列表被重新排序。如果该位未设置,则列表将被旋转而不改变顺序。例如,如果用户的英文版本有效,并且加载了法语,德语和西班牙语版式(按照该顺序),则使用KLF_REORDER位来激活德语版面将产生以下顺序:德语,英语和法语,西班牙语。激活德国布局而不设置KLF_REORDER位将产生以下顺序:德语,西班牙语,英语,法语。 如果加载少于三个键盘布局,则此标志的值不相关。 |
KLF_UNLOADPREVIOUS | 之前活动的布局被卸载。 |
返回值
如果函数成功,返回值为TRUE。
如果函数失败,返回值为FALSE。要获取扩展错误信息,请调用GetLastError.
备注
可以随时加载几个键盘布局,但一次只能启用一个。加载多个键盘布局可以在布局之间快速切换。
也可以看看
LoadKeyboardLayout, GetKeyboardLayoutName, UnloadKeyboardLayout