Keyboard Toggle Keys

TITLE Keyboard Toggle Keys (Keybd.asm)

Comment !
The following example program demonstrates GetKeyState by checking the states of the Num-
Lock and Left Shift keys:

Last update: 05/02/2002
!

INCLUDE Irvine32.inc
INCLUDE Macros.inc

; GetKeyState sets bit 0 in EAX if a toggle key is
; currently on (CapsLock, NumLock, ScrollLock).
; It sets the high bit of EAX if the specified key is
; currently down.
.code
main PROC
INVOKE GetKeyState, VK_NUMLOCK
test al,1
.IF !Zero?
mWrite <"The NumLock key is ON",0dh,0ah>
.ENDIF
INVOKE GetKeyState, VK_LSHIFT
test eax,80000000h
.IF !Zero?
mWrite <"The Left Shift key is currently DOWN",0dh,0ah>
.ENDIF
exit
main ENDP
END main
原文地址:https://www.cnblogs.com/dreamafar/p/5978731.html