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