GetAsyncKeyState用法
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用法相关推荐
- GetAsyncKeyState()用法
1)if(GetAsyncKeyState(VK_LSHIFT)) 这样写是不对的. GetAsyncKeyState的返回值表示两个内容,一个是最高位bit的值,代表这个键是否被按下,一个是最低位b ...
- c语言getasynckeystate,GetAsyncKeyState用法
GetAsyncKeyState 就是调用GetAsyncKeyState函数得到某个键的状态,然后判断返回值的最高位是不是1,如果是表示这个处于按下状态 1.&与操作,&0x8000 ...
- GetAsyncKeyState函数中按键的信息
转自MSDN http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx 用法 if (::GetAs ...
- C++技术:GetAsyncKeyState 与 GetKeyboardState 函数
文章目录 luogu博客链接 C++技术 - GetAsyncKeyState 与 GetKeyboardState 函数 GetAsyncKeyState 与 GetKeyboardState 函数 ...
- 【Easyx库基础用法教程】
Easyx图像库 @[TOC](Easyx图像库) 1.1简单介绍 1.2Easyx原理 2.Easyx基础知识 2.1Easyx颜色 2.2Easyx坐标和设备 3.Easyx图形编程----窗口函 ...
- c语言中external,static关键字用法
static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...
- Pandas_transform的用法
先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...
- Python中yield和yield from的用法
yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...
- pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
最新文章
- Linux查看ice版本,Linux下ICE的安装
- POPUP_TO_CONFIRM
- mysql库的user表误删除或mysql的管理员密码丢失的解决方法
- Vs2010中水晶报表引用及打包
- 互联网日报 | 蚂蚁集团成立整改工作组;万达完成开业45座万达广场年度目标;T3出行日订单突破100万...
- svn怎么比对文件_svn导出文件进行比较
- Scratch二次开发——如何创建单独的Scratch作品展示页?
- 红米ac2100有ipv6吗_【0107-多功能版OpenWrt】红米小米AC2100|IPV6|酸奶|SmartDNS|多拨|猫咪,附教程...
- 医院预算目标分解公式
- PreparedStatement.addbatch()的使用
- js实现页面打印及bugger
- 菜鸟-需求预测与分仓规划
- 颐 山雷颐 艮上震下
- 用计算机亩换算成平方,公倾,平方米,英亩,市亩,平方公里等常见面积单位转换在线计算器_三贝计算网_23bei.com...
- 区块链技术的应用可能会带来哪些风险?
- linux 安装手机usb驱动
- SpringBoot + xxl-job 多数据源异构数据增量同步
- 泡椒java软件下载_为男性专门设计的手机阅读软件大集合
- 利用bitmap处理海量数据问题:43亿QQ号所占内存大小为什么是512M?40亿个QQ号如何去重?
- 设置html视频文件音量默认,视频文件音量不一致 怎样调节视频音量