Jump to content

Check if any key is pressed


Recommended Posts

Hello,

I was thinking, is there easier way to create script that would have timer in it,

that would be reseted at the begining of script, and on every key presses..

Without huge about of HotKeySets, than would all call same function...

My idea was create program, that could take care that I'm actually doing something on my computer, and if I don't (timer limit goes over x-mins)

It would do something like turn on web-radio or something :)

On my case shoutdown few my programs...

Link to comment
Share on other sites

_Timer_GetIdleTime() - a good idea. But if you need to check whether pressed at the moment, any key, this is function to do so.

func _IsAnyPressed()
    
    local $Ret, $tState = DllStructCreate('byte[256]')
    
    $Ret = DllCall('user32.dll', 'int', 'GetKeyboardState', 'ptr', DllStructGetPtr($tState))
    if (@error) or ($Ret[0] = 0) then
        return SetError(1, 0, 0)
    endif
    
    for $i = 0x01 to 0xFF
        switch $i
            case 0x0A, 0x0B, 0x0E to 0x0F, 0x16, 0x1A, 0x1C to 0x1F, 0x3A to 0x40, 0x5E, 0x88 to 0x8F, 0x97 to 0x9F, 0xB8 to 0xB9, 0xC1 to 0xDA, 0xE0, 0xE8
                continueloop
            case else
                if BitAND(DllStructGetData($tState, 1, $i + 1), 0xF0) > 0 then
                    return 1
                endif
        endswitch
    next
    return 0
endfunc; _IsAnyPressed
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...