#define WM_SYSCOMMAND 0x0112 #define SC_CLOSE 0xF060 RUN/n OSK && You could change it with ShellExecute :-) DECLARE INTEGER FindWindow IN WIN32API STRING, STRING DECLARE INTEGER SendMessage IN WIN32API INTEGER, INTEGER,INTEGER, INTEGER oskhWnd = FindWindow(NULL,"On-Screen Keyboard") ? oskhWnd INKEY(1) SendMessage(oskhWnd, WM_SYSCOMMAND, SC_CLOSE, 0) && Close the OSKNo error handling here :-)