>DECLARE SHORT GetKeyState IN WIN32API INTEGER >#define VK_SHIFT 0x10 >#define VK_CONTROL 0x11 > >CLEAR TYPEAHEAD >WAIT WINDOW "NOW TEST GetKeyState" TIMEOUT 5 >x=null >FOR k=1 TO 50 > DOEVENTS FORCE > newX=GetKeyState( VK_SHIFT ) < 0 > IF m.newX = m.x > LOOP > ENDIF > x=m.newX > WAIT WINDOW IIF(m.x,"you enter with down","you enter with up") NOWAIT NOCLEAR >NEXT > >CLEAR TYPEAHEAD >WAIT WINDOW "NOW TEST GetAsyncKeyState" TIMEOUT 5 > >DECLARE SHORT GetAsyncKeyState IN WIN32API INTEGER >x=null >FOR k=1 TO 5000000 > newX=GetAsyncKeyState( VK_SHIFT ) < 0 > IF m.newX = m.x > LOOP > ENDIF > x=m.newX > WAIT WINDOW IIF(m.x,"now is down","now is up") NOWAIT NOCLEAR >NEXT >WAIT CLEAR >Thanks Fabio. WIll do.