Jump to content

Keypress detection


icywind
 Share

Recommended Posts

To elaborate on MSLx Fanboy's suggestion

$keys = StringSplit("ABCDEFGHIJKLMNOPQRSTUVWXYZ", "")
$dll = DllOpen('user32.dll')
While 1
    Sleep(250)
    If _IsPressed("23", $dll) Then
        MsgBox(0, "_IsPressed", "End Key Pressed")
        ExitLoop
    EndIf
    For $x = 1 To $keys[0]
        If _IsPressed(Hex(Asc($keys[$x]),2)) Then
            MsgBox(0, "key pressed", $keys[$x])
        EndIf
    Next
WEnd
DllClose($dll)


Func _IsPressed($s_hexKey, $v_dll = 'user32.dll')
; $hexKey must be the value of one of the keys.
; _Is_Pressed will return 0 if the key is not pressed, 1 if it is.
    Local $a_R = DllCall($v_dll, "int", "GetAsyncKeyState", "int", '0x' & $s_hexKey)
    If Not @error And BitAND($a_R[0], 0x8000) = 0x8000 Then Return 1
    Return 0
EndFunc  ;==>_IsPressed
Edited by gafrost

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...