首页
社区
课程
招聘
[旧帖] [求助][求助][求助]windows下,键盘按键的处理问题 0.00雪花
发表于: 2009-9-11 11:01 936

[旧帖] [求助][求助][求助]windows下,键盘按键的处理问题 0.00雪花

2009-9-11 11:01
936
代码如下:
----------------------------------------------
local   @szKeyState[256]:byte
...
invoke  GetKeyborardState,addr @szKeyState
invoke  GetKeyState,VK_SHIFT
mov     @szKeyState + VK_SHIFT,al
----------------------------------------------
在程序开始定义一个256字节的缓冲区,用来存放按键所对应的状态信息。但是在处理VK_SHIFT时就存在一个问题,他存在左右键之分,也就是VK_LSHIFT,VK_RSHIFT两种(不知道Ctrl存不存在同样的问题),而在将种虚键转换成AScII码时,要进行查表,在表中只有VK_SHIFT,所以必须要进行转换,因此用GetKeyState直接来获取键盘上的VK_SHIFT状态,用mov @szKeyState + VK_SHIFT,al用修改VK_SHIFT的状态。不知道上面表述是不是正确的,是不是清楚,还请高手指点。不能理解的就是:
1、@szKeyState + VK_SHIFT是什么意思, al里又存放的是什么,有什么意义;
2、定义的缓冲区中的数据到底是什么?为什么要设定为256,按理说应该申请为3个字节就OK了,因为一个字节用来存放是什么键按下,一个字节用来存放控制键状态,还有一个用来存放结束标志0就行了。这样理解有没有问题?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//