tounicode

  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">     函数功能:该函数将给定的虚拟键码和键盘状态翻译成相应的字符或字符串。

    函数原型:int ToUnicode(UINT wVirtKey,UINT wScanCode,PBYTE lpKeyState,LPWSTR pwszBuff,int cchBuff,UINTwFlags);

    参数:

    wVirtKey:定义将被翻译的虚拟键码。

    wScanCode:定义被翻译键的硬件扫描码。若该值的最高为被置为1,则该键处于Up状态。

    lpKeyState:指向一个包含当前键盘状态的256字节数组。数组中的每个成员(字节)包含了一个键的状态。若一字节的最高位被置为1,则该键处于down状态。

    PwszBuff:接受翻译所得Unicode宇符或字符串的缓冲区指针。

    cchBuff:定义pwszBuff参数指向的缓冲区中字符串的大小。

    wFlags:形成函数执行条件的一个标志域集。若一个菜单处于激活状态,则将第0位设置为1。第1位到第31位保留。

    返回值:该函数返回一个如下的值:

    -1:指定的虚拟键码是死键(重音或双音字符)。即使已敲击了几个字符,且这几个字符已存储在键盘状态中时,也将忽略键盘布局,返回该值。如果可能的话,即使对于Unicode键盘布局,该函数也己给出了一个将死键字符写入pwszBuff参数定义的缓冲区的间隔形式。例如,函数写入字符SPACING ACUTE

    (0x00B4),而不是写入字符NON_SPACING ACUTE(0x0301)。

    0:对于当前键盘状态,所定义的键没有翻译。没有写人任何东西到pwszBuff参数定义的缓冲区。

    1:一个字符被写入pwszBuff参数定义的缓冲区

    2:两个或两个以上字符被写入pwszBuff参数定义的缓冲区。发生这种情况最常见的原因是由于存放在键盘布局中的一个死键无法由指定的虚拟键码组合成单键字符。

    备注:若键盘布局中原先存放了一个死键,则提供给ToUnicode函数的参数可能不足以翻译虚拟键码。典型地,ToUnicode函数只执行基于虚拟键码的翻译。然而,在某些情况下,wScanCode参数的第15位可能被用来区分一个键的按下状态和释放状态。

    速查:Windows NT:3.1及以上版本;Windows:不支持;Windows CE:不支持;头文件:winuser.h;库文件: user32.lib。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值