ToAscii将虚拟键码转化为相应的字符或字符串
来源:互联网 发布:手机家长控制软件 编辑:程序博客网 时间:2024/05/26 20:22
ToAscii1.函数功能:该函数将指定的虚拟键码和键盘状态翻译为相应的字符或字符串。该函数使用由给定的键盘布局句柄标识的物理键盘布局和输入语言来翻译代码。函数原型:int ToAscii(UINT uVirtKey,UINT uScanCode,PBYTE lpKeyState,LPWORD lpChar,UINT uFlags);参数:nVirtkey:指定要翻译的虚拟键码。uScanCode:定义被翻译键的硬件扫描码。若该键处于up状态,则该值的最高位被设置。LpKeyState:指向包含当前键盘状态的一个256字节数组。数组的每个成员包含一个键的状态。若某字节的最高位被设置,则该键处于down状态。若最低位被设置,则表明该键被触发。在此函数中,仅有capslock键的触发位是相关的。NumloCk和scroll loCk键的触发状态将被忽略。LpChar:指向接受翻译所得字符或字符串的缓冲区。UFlags:定义一个菜单是否处于激活状态。若一菜单是活动的,则该参数为1,否则为0。返回值:若定义的键为死键,则返回值为负值。否则,返回值应为如下的值:O:对于当前键盘状态,所定义的虚拟键没有翻译。1:一个字符被拷贝到缓冲区。2:两个字符被拷贝到缓冲区。当一个存储在键盘布局中的死键(重音或双音字符)无法与所定义的虚拟键形成一个单字符时,通常会返回该值。备注:若键盘布局中原先存放了一个死键,则提供给ToAscii函数的参数可能不足以翻译虚拟键码。典型地,ToAscii函数执行基于虚拟键码的翻译。然而,在某些情况下,uScanCode参数的第15位可能被用来区分一个键的按下状态和释放状态。扫描码用于翻译Alt+数字键的键组合。尽管NUMLOCK事实影响键盘状态的触发键,TOAscii将忽略lpKeyState的触发设置(VK_NUMLOCK),因为仅uVirtKey参数就足以区分光标移动键(VL_HOME,INSERT,等等)和数字键(VK_DECIMAL,VK_NUMPADO_VK_NUMPAD9)。速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Wiodows CE:不支持;头文件:Winuser.h;库文件:user32.lib。int toascii(int c)把c最高位舍去, 转换成7bit的unsigned char 类型使它符合ASCII表。
[DllImport("user32")]public static extern int ToAscii(int uVirtKey, int uScanCode, byte[]lpbKeyState, byte[] lpwTransKey, int fuState);
[DllImport("user32")]public static extern int ToAscii(int uVirtKey, int uScanCode, byte[]lpbKeyState, byte[] lpwTransKey, int fuState);
- ToAscii将虚拟键码转化为相应的字符或字符串
- 编写一个函数将字符串中的数字字符转化为相应的整数
- 把枚举转化为相应的字符串
- 位运算将01字符串转化为相应二进制数
- 将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符
- 将相应的字符串转换为相应的数字
- js将中文或其他文字转化为unicode字符
- 将字符转化为对应的数字
- 将以逗号隔开的字符串,转化为字符数组并获取每一个的内容
- 如何将字符串转化为对类或方法的调用
- 将数值转化为字符串的函数
- 将数值转化为字符串的函数
- 将文件转化为字符串的方法
- 黑马程序员:将字符串的所有字符转化为大写(ByteArrayOutPutStream/ByteArrayInPutStream)
- QLineEdit将数字转化为字符串,对单个字符的修改
- 将整数转换为相应的一个字符数组
- 将int转化为字符
- 将数值转化为字符
- win8如何在已安装多系统的情况下,更改默认开机系统
- 腾讯、百度、网易游戏、华为Offer及笔经面经
- 【IOS】工程编译中常见问题
- WSO2-Stratos2.0的架构
- javaWeb解决中文乱码问题
- ToAscii将虚拟键码转化为相应的字符或字符串
- Spring使用JdbcTemplate插入和修改数据的三种方法
- baby one more time
- 20 Linux YUM (Yellowdog Updater, Modified) Commands for Package Management
- onInterceptTouchEvent和onTouchEvent调用关系详解
- Hello, world!
- 6410之UART使用中断方式
- git新手入门参考文章
- note : A-Protect Study note