### 函数功能

该函数将指定的虚拟键码和键盘状态翻译为相应的字符或字符串。该函数使用由给定的键盘布局句柄标识的物理键盘布局和输入语言来翻译代码。

### 函数原型

int ToAsciiEx(UINT uVirtKey,UINT uScanCode，PBYTE lpKeyState，LPWORD lpChar,UINT uFlags, HKL dwhkl);

### 参数

nVirtkey：指定要翻译的虚拟键码。
uScanCode：定义被翻译键的硬件扫描码。若该键处于up状态，则该值的最高位被设置。
IpKeyState：指向包含当前键盘状态的一个256字节数组。数组的每个成员包含一个键的状态。若某字节的最高位被设置，则该键处于down状态。若最低位被设置，则表明该键被触发。在此函数中，仅有Capslock键的触发位是相关的。Numlock和Scroll lock键的触发状态将被忽略。
lpchar：指向接受翻译所得字符或字符串的缓冲区。
uFlags：定义一个菜单是否处于激活状态。若一菜单是活动的，则该参数为1，否则为0。
dwnkl：翻译给定代码所使用的键盘布局的句柄。该参数可以是先前LoadKeyboardLayout函数返回的键盘布局句柄。

### 返回值

同上。

### 速查

Windows NT：4.0以上版本；Windows：95及以上版本；Windows CE：不支持；头文件：winustr.n；库文件：user32.lib。