#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