VkKeyScanEx
[Now
Supported on Windows NT]
The VkKeyScanEx
function translates a character to the corresponding virtual-key code and shift
state. The function translates the character using the input language and
physical keyboard layout identified by the given keyboard layout handle.
SHORT VkKeyScanEx(
CHAR ch, |
//
character to translate |
HKL dwhkl |
// keyboard
layout handle |
); |
|
Parameters
ch
Specifies the
character to be translated into a virtual-key code.
dwhkl
Identifies
the keyboard layout to use to translate the character. This parameter can be
any keyboard layout handle previously returned by the LoadKeyboardLayout
Return Values
If the
function succeeds, the low-order byte of the return value contains the
virtual-key code and the high-order byte contains the shift state, which can be
a combination of the following flag bits:
Bit |
Meaning |
1 |
Either SHIFT key is
pressed. |
2 |
Either CTRL key is
pressed. |
4 |
Either ALT key is
pressed. |
If the
function finds no key that translates to the passed character code, both the
low-order and high-order bytes contain -1.
Remarks
For keyboard
layouts that use the right-hand ALT key as a shift key (for example, the French keyboard
layout), the shift state is represented by the value 6, because the right-hand ALT key is
converted internally into CTRL+ALT.
Translations
for the numeric keypad (VK_NUMPAD0 through VK_DIVIDE) are ignored. This
function is intended to translate characters into keystrokes from the main
keyboard section only. For example, the character 7 is translated
into VK_7, not VK_NUMPAD7.
VkKeyScanEx is used by applications that send characters by using
the WM_KEYUP and WM_KEYDOWN messages.
See Also