什么是win32 /系统调用相当于从键盘获取扫描代码?

时间:2013-02-27 17:47:22

标签: windows tasm

我在tasm中有这个代码

mov ah,00h
int 21h

cmp ah,3Bh

考虑到它是基于dos的应用程序(我们可以看到它使用相当陈旧的中断),它运行得很好。现在的问题是,win32 / system调用相当于从键盘获取扫描代码是什么?基本上,当用户按下F1键(扫描码为3Bh)时,它被登记在AH寄存器中。我们如何通过系统调用在win32程序集中实现这一点? (带有extrn,kernel32 dlls等的那个) 我正在使用NASM

1 个答案:

答案 0 :(得分:1)

对于控制台模式程序,32位汇编代码最有可能的主页,它是ReadConsoleInput()。 GUI应用程序从GetMessage()返回的WM_KEYDOWN和WM_CHAR消息中获取击键。但是当然你从来没有在汇编中编写GUI应用程序,这对此毫无意义。

从C运行时库调用_getch()可能是最简单的方法,它是一个返回int的简单函数。