GetAsyncKeyState

就是调用GetAsyncKeyState函数得到某个键的状态,然后判断返回值的最高位是不是1,如果是表示这个处于按下状态

1、&与操作,&0x8000就是判断这个返回值的high-order bit(高位字节)
2、如果high-order bit是1,则是按下状态,否则UP状态

#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)
意思你应该看的懂吧。
说明一下,带的参数要是虚拟打描码!
比如下的码是 VK_DOWN ,ESC是 VK_ESCAPE

GetAsyncKeyState 取异步键状态。
比如,一般情况下,你可以在操作系统的控制面板中设置鼠标左右键的映射(实际的鼠标左键可以映射成右键点击事件),或者通过程序也可以这样设置,这样就产生了物理键状态(实际的),逻辑键状态(虚拟的,)。使用 GetKeyState,GetKeyboardState,等函数得到的就是逻辑键状态。
而GetAsyncKeyState 读取的是物理键状态,也是就是不管你怎么鼠标键盘映射,它只读取实际的按键状态。

GetAsyncKeyState用法相关推荐

  1. GetAsyncKeyState()用法

    1)if(GetAsyncKeyState(VK_LSHIFT)) 这样写是不对的. GetAsyncKeyState的返回值表示两个内容,一个是最高位bit的值,代表这个键是否被按下,一个是最低位b ...

  2. c语言getasynckeystate,GetAsyncKeyState用法

    GetAsyncKeyState 就是调用GetAsyncKeyState函数得到某个键的状态,然后判断返回值的最高位是不是1,如果是表示这个处于按下状态 1.&与操作,&0x8000 ...

  3. GetAsyncKeyState函数中按键的信息

    转自MSDN http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx 用法 if (::GetAs ...

  4. C++技术:GetAsyncKeyState 与 GetKeyboardState 函数

    文章目录 luogu博客链接 C++技术 - GetAsyncKeyState 与 GetKeyboardState 函数 GetAsyncKeyState 与 GetKeyboardState 函数 ...

  5. 【Easyx库基础用法教程】

    Easyx图像库 @[TOC](Easyx图像库) 1.1简单介绍 1.2Easyx原理 2.Easyx基础知识 2.1Easyx颜色 2.2Easyx坐标和设备 3.Easyx图形编程----窗口函 ...

  6. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  7. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  8. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  9. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

最新文章

  1. Linux查看ice版本,Linux下ICE的安装
  2. POPUP_TO_CONFIRM
  3. mysql库的user表误删除或mysql的管理员密码丢失的解决方法
  4. Vs2010中水晶报表引用及打包
  5. 互联网日报 | 蚂蚁集团成立整改工作组;万达完成开业45座万达广场年度目标;T3出行日订单突破100万...
  6. svn怎么比对文件_svn导出文件进行比较
  7. Scratch二次开发——如何创建单独的Scratch作品展示页?
  8. 红米ac2100有ipv6吗_【0107-多功能版OpenWrt】红米小米AC2100|IPV6|酸奶|SmartDNS|多拨|猫咪,附教程...
  9. 医院预算目标分解公式
  10. PreparedStatement.addbatch()的使用
  11. js实现页面打印及bugger
  12. 菜鸟-需求预测与分仓规划
  13. 颐 山雷颐 艮上震下
  14. 用计算机亩换算成平方,公倾,平方米,英亩,市亩,平方公里等常见面积单位转换在线计算器_三贝计算网_23bei.com...
  15. 区块链技术的应用可能会带来哪些风险?
  16. linux 安装手机usb驱动
  17. SpringBoot + xxl-job 多数据源异构数据增量同步
  18. 泡椒java软件下载_为男性专门设计的手机阅读软件大集合
  19. 利用bitmap处理海量数据问题:43亿QQ号所占内存大小为什么是512M?40亿个QQ号如何去重?
  20. 设置html视频文件音量默认,视频文件音量不一致 怎样调节视频音量

热门文章

  1. MIUI系统ROM固件,小米手机所有历史全部机型合集
  2. 浅析windows计划任务
  3. linux内核代码研读与实战,Linux内核源码研读与实战演练
  4. java学习笔记—java的学习路线
  5. MongoDB 杂事
  6. 不要看《深入浅出MFC》!
  7. 闲置台式机+文件服务器,牛人闲置电脑大改造!超低成本组建家用黑群晖NAS
  8. OOM和StackOverFlow的区别
  9. 四_【Java_程序逻辑控制】
  10. 【算法详解】splay的初步了解