直接读取键盘输入

时间:2011-08-18 18:06:32

标签: assembly input keyboard buffer

有没有办法直接读取键盘输入?

直接来说,我的意思是没有使用Win API函数或任何预先编写的程序。只是我的简单集会。

例如,我父亲向我展示了他对ZX-81操作系统的反汇编。我们找到了一个名为'INKEY $'的程序,它直接进入内存,复制键盘缓冲区的值,并做任何需要用它们完成的事情。我知道ZX-81是历史性的,但我想知道是否有任何方法可以直接从缓冲区中读取。

我已经反汇编'user32.dll'并查找了GetAsyncKeyState和GetKeyboardState。下面是来自GetAsyncKeyState的一段代码,它似乎正在执行“从缓冲区读取”并决定在按下或不按下键时该怎么做(尽管在两种情况下它们都跳转到相同的地址......)

mov edx, [ebp+vKey]
cmp edx, 2
jz loc_7DC73234
cmp edx, 1
jz loc_7DC73234

我父亲说现在可能无法完成,因为键盘与USB连接,他们有驱动程序和东西来做这些低级操作。但是,您仍然可以直接从键盘驱动程序保存按键的位置读取。

那么,您是否仍然可以使用简单的'mov'指令复制一个表示按键是否按下的值?感谢。

0 个答案:

没有答案