mapvirtualkeyl

  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">     函数功能:该函数将一虚拟键码翻译(映射)成一扫描码或一字符值,或者将一扫描码翻译成一虚拟键码。

    函数原型:UINT MaoVirtualKey(UINT uCode,UINT uMapType);

    参数:

    uCode:定义一个键的扫描码或虚拟键码。该值如何解释依赖于uMapType参数的值。

    uMapType:定义将要执行的翻译。该参数的值依赖于uCode参数的值。取值如下:

    0:代表uCodee是一虚拟键码且被翻译为一扫描码。若一虚拟键码不区分左右,则返回左键的扫描码。若未进行翻译,则函数返回O。

    1:代表uCode是一扫描码且被翻译为一虚拟键码,且此虚拟键码不区分左右。若未进行翻译,则函数返回0。

    2:代表uCode为一虚拟键码且被翻译为一未被移位的字符值存放于返回值的低序字中。死键(发音符号)则通过设置返回值的最高位来表示。若未进行翻译,则函数返回0。

    3:代表uCode为一扫描码且被翻译为区分左右键的一虚拟键码。若未进行翻译,则函数返回0。

    返回值:返回值可以是一扫描码,或一虚拟键码,或一字符值,这完全依赖于不同的uCode和uMapType的值。若未进行翻译,则函数返回O。

    备注:应用程序可以使用MapVirtualKey将扫描码翻译为虚拟键码常数VK_SHIFT,VK_CONTROL和VK_MENU。反之亦然。这些翻译不区分左右shift,ctrl,alt键。应用程序可以通过调用MapVirtualKey函数时将uCode参数

    设置为如下的虚拟键码常数来获得分别相应于上述键的左右键的扫描码:

    VK_LSHIFT,VK_RDHIFT;VK_LCONTROL;VK_RCONTROL;VK_LMENU,VK_RMENU

    仅当应用程序调用GetKeyboardState,SetKeyboardStaste,GetAsyncKeystate, GetKeyState和MapVirtUalKey函数时,才可用这些区分左右键的常数。

    Windows CE:Windows CE仅支持uMapType参数取值为2的情况,即将虚拟键映射为未被移位的字符。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.O及以L版本;头文件:winuser.h;库文件:user32.lib;在Windows NT上实现为Unicode和ANSI两种版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值