name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">
函数功能:该函数将一个字符翻译成相应的虚拟键码和对于当前键盘的转换状态。该函数己被VkKeyScanEx函数所替代。仍然可以使用VkKeyscan函数,但是不必再定义键盘布局。
函数原型:SHORT VkKeyScan(TCHARch);
参数:
ch:定义被翻译成虚拟键码的字符。
返回值:若函数调用成功,则返回值的低位字节中包含了虚拟键码,高位字节中包含了上挡状态,这些状态可以是如下标志位的组合:
1:按下的可以是任一Shift键。2:按下的可以是任一Ctrl键。
4:按下的可以是任一AIt键。8:按下的是Hankaku键。
16:保留(由键盘驱动程序定义)。32:保留(由键盘驱动程序定义)。
若函数不能将传递的字符代码翻译成一个按键,则低位与高位字节将均置为_1。
备注:对于使用右手Alt键作为Shift键的键盘布局(例如法语键盘布局),转换状态由值6来表示,因为右手Alt键在内部被翻译为Ctrl+Alt。
数字键盘(VK_NUMPAD0 --VK_NUMPAD9)的翻译被忽略掉了。该函数仅主键盘部分的字符翻译为相应的击键动作。例如,字符“7”被翻译成VK_7,而不是VK_NUMPAD7。
应用程序使用该函数通过发送WM_KEYUP和WM_KEYDOWN消息来传送字符。
速查:Windows NT:3.7及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
函数原型:SHORT VkKeyScan(TCHARch);
参数:
ch:定义被翻译成虚拟键码的字符。
返回值:若函数调用成功,则返回值的低位字节中包含了虚拟键码,高位字节中包含了上挡状态,这些状态可以是如下标志位的组合:
1:按下的可以是任一Shift键。2:按下的可以是任一Ctrl键。
4:按下的可以是任一AIt键。8:按下的是Hankaku键。
16:保留(由键盘驱动程序定义)。32:保留(由键盘驱动程序定义)。
若函数不能将传递的字符代码翻译成一个按键,则低位与高位字节将均置为_1。
备注:对于使用右手Alt键作为Shift键的键盘布局(例如法语键盘布局),转换状态由值6来表示,因为右手Alt键在内部被翻译为Ctrl+Alt。
数字键盘(VK_NUMPAD0 --VK_NUMPAD9)的翻译被忽略掉了。该函数仅主键盘部分的字符翻译为相应的击键动作。例如,字符“7”被翻译成VK_7,而不是VK_NUMPAD7。
应用程序使用该函数通过发送WM_KEYUP和WM_KEYDOWN消息来传送字符。
速查:Windows NT:3.7及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。