>#define VK_SHIFT 0x10 >#define VK_CONTROL 0x11 >#define VK_MENU 0x12 >#define PRESSED 0x07 > >DECLARE INTEGER GetKeyboardState IN WIN32API STRING @ > >DO WHILE .t. > m1 = REPLICATE(CHR(0),255) > wait WINDOW "" TIMEOUT 0.5 > GetKeyboardState(@m1) > ? "Shift",ASC(SUBSTR(m1,VK_SHIFT+1,1)), BITTEST(ASC(SUBSTR(m1,VK_SHIFT+1,1)),PRESSED) > ? "Control",ASC(SUBSTR(m1,VK_CONTROL+1,1)), BITTEST(ASC(SUBSTR(m1,VK_CONTROL+1,1)),PRESSED) > ? "Alt",ASC(SUBSTR(m1,VK_MENU+1,1)), BITTEST(ASC(SUBSTR(m1,VK_MENU+1,1)),PRESSED) > IF LASTKEY() == 27 > EXIT > ENDIF >ENDDO > > >Hi Borislav,
PUBLIC oform1 oform1=NEWOBJECT("form1") oform1.Show RETURN DEFINE CLASS form1 AS form PROCEDURE Click _VFP.AutoYield=.T. FOR k=1 TO 5 ? "down",SECONDS() KEYBOARD '{ENTER}' PLAIN FOR j=1 TO 20000000 NEXT NEXT ENDPROC PROCEDURE KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl ? SECONDS() ENDPROC ENDDEFINE