The function checks if certain keys are pressed. From one to a combination of three. Virtual keycodes are used as parameters. [Virtual keycodes]
1 2 3 4 5 6 7 |
begin if getKeyStatebyCode(65) = True then ShowMessage('"A" key pressed') else ShowMessage('Key "A" not pressed'); if getKeyStatebyCode(VK_CONTROL, VK_SHIFT, 65) = True then ShowMessage('Ctrl + Shift + A pressed') else ShowMessage('Ctrl + Shift + A not pressed'); end; |
Options
keyCode1, keyCode2, keyCode3 - virtual key codes
Result
True if all the keys being checked were pressed and False if not.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function getKeyStatebyCode(keyCode1:Integer=0; keyCode2:Integer=0; keyCode3:Integer=0) : Boolean; var State : TKeyboardState; k1, k2, k3: Boolean; begin k1:= True; k2:= True; k3:= True; GetKeyboardState(State); if keyCode1 <> 0 then k1:= ((State[keyCode1] and 128) <> 0); if keyCode2 <> 0 then k2:= ((State[keyCode2] and 128) <> 0); if keyCode3 <> 0 then k3:= ((State[keyCode3] and 128) <> 0); if (k1 = False) or (k2 = False) or (k3 = False) then Result:= False else Result:= True; end; |