0

私は MASM 構文を使用しています。キーボードのキーを押して保存し、後でコードで使用したいのですが、 : int 21h interrupt を使用してみましたが、32 ビットでは動作しないようです。

それを達成する他の方法はありますか?

ありがとう。

4

1 に答える 1

0

Windows に切り替えたい場合は、おそらくGetKeyboardState関数を使用して、1 つ以上のキーが押されているかどうかを確認できます。を使用するよりもさらに簡単GetKeyboardStateなのは、次のようなものを使用することです。

.486
.model flat,stdcall
option casemap : none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\msvcrt.inc
include \masm32\macros\macros.asm

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\msvcrt.lib

.data?
key dd ?

.code

start:

printf("Press a key..")
call crt__getch
mov key,eax
printf("\nYou pressed key number %d", key)

invoke ExitProcess,0

END start
于 2013-08-02T09:04:36.813 に答える