2013-02-27 66 views
0

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

mov ah,00h 
int 21h 

cmp ah,3Bh 

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

+1

http://uhost.rmutp.ac.th/wanapun.w/sys-tc/ch2-1.pdf – 2013-02-27 17:48:51

+0

这是我目前的实施。我问如何使用系统/函数调用在win32中实现这一点 – WantIt 2013-02-27 17:56:38

+1

啊,我明白了。如果在问题的标题中包含您实际要求的内容,您可以将我们所有人都混淆。 :) – 2013-02-27 17:58:18

回答

1

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

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