0
MASM 구문을 사용 중입니다. 키보드 키를 누른 다음 나중에 코드에서 사용하기 위해 저장하려고합니다. 사용하려고 시도했습니다. int 21h interrupt하지만 작동하지 않는 것 같습니다. 32 비트.keypress를 관리하십시오.
그 밖의 다른 방법이 있습니까?
감사합니다.
MASM 구문을 사용 중입니다. 키보드 키를 누른 다음 나중에 코드에서 사용하기 위해 저장하려고합니다. 사용하려고 시도했습니다. int 21h interrupt하지만 작동하지 않는 것 같습니다. 32 비트.keypress를 관리하십시오.
그 밖의 다른 방법이 있습니까?
감사합니다.
Windows로 전환하려면 GetKeyboardState
기능을 사용하여 하나 이상의 키가 눌러져 있는지 확인하십시오. 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
crt_getch를 불러주세요. 감사합니다. –
프로그램이 실행되는 환경은 무엇입니까? – duskwuff
Windows7, 32 비트. 이 프로그램은 실제로 콘솔을 기반으로한다고 언급하는 것을 잊어 버렸습니다. –
DosBox와 같은 에뮬레이터에서 프로그램을 실행해야합니다. 또는 대신 Windows 콘솔 응용 프로그램 (인터럽트 대신 Win32 API 사용)을 사용하십시오. – Michael